Thinkphp 中缓存redis 支持密码登陆​

管理员
管理员 2021-4-7

1、原始PHP密码连接redis

//实例化  
$redis = new Redis();  
//连接服务器  
$redis->connect("localhost");  
//授权  
$redis->auth("passwd");  
//相关操作  
$redis->set("name","father");  
$data = $redis->key("*");  
var_dump($data);

2、thinkphp配置文件修改redis的的密码和连接密码

'DATA_CACHE_PREFIX' => 'Redis_',//缓存前缀
'DATA_CACHE_TYPE'=>'Redis',//默认动态缓存为Redis
'REDIS_RW_SEPARATE' => false, //Redis读写分离 true 开启
'REDIS_HOST'=>'192.168.1.111', //redis服务器ip,多台用逗号隔开;读写分离开启时,第一台负责写,其它[随机]负责读;
'REDIS_PORT'=>'6379',//端口号
'REDIS_TIMEOUT'=>'300',//超时时间
'REDIS_PERSISTENT'=>false,//是否长连接 false=短连接
'REDIS_AUTH'=>'密码****',//AUTH认证密码

3、修改thinkphp的代码

修改文件是:

ThinkPHP\Library\Think\Cache\Driver\Redis.class.php

如下图,在第40行的时候,实例化了redis ,但是并没有密码连接的redis

44行到46行就是需要添加的代码(作用就是如果设置了redis密码,就会执行auth方法设置redis的密码)

//添加redis 密码
if(C('REDIS_AUTH')){
    $this->handler->auth(C('REDIS_AUTH'));
}


回帖
  • 消灭零回复

微信二维码

微信二维码

微信扫码添加微信好友