php 实例化 redis,tp5 实例化redis 出错,求解汗血宝马

框架内缓存驱动redis不能满足需要,想要自己连接redis,在助手函数中新增load_redis 函数代码如下

/**

* lubTicket redis 操作API

* @param  string $apiport 要操作的接口

* @param  string $key     键名

* @param  string $value   键值

* @param  string $time    有效时间

* @return true|false

*/

function load_redis($apiport,$key,$value = '',$time = ''){

$redis = new \Redis();

$redis->connect(think\Config::get('REDIS_HOST'),think\Config::get('REDIS_PORT'));

$redis->select(think\Config::get('REDIS_DATABASE'));

switch ($apiport) {

case 'lsize':

//判断列表中元素个数

$return = $redis->lsize($key);

break;

case 'rPop':

//获取队列中最后一个元素,且移除

if((int)$redis->lsize($key) > 0){

$return = $redis->rPop($key);

}else{

$return = false;

}

break;

case 'lpush':

//写入带处理队列,若存在则不再写入

$return = $redis->lPush($key,$value);

break;

case 'set':

$return = $redis->set($key,$value);

break;

case 'setex':

/**

* 设置有效期

*/

$return = $redis->setex($key, $time, $value);

break;

case 'get':

$return = $redis->get($key);

break;

case 'lrange':

//返回list 中的元素 返回名称为key的list中start至end之间的元素(end为 -1 ,返回所有) value 为开始位置 $time 为结束位置

$return = $redis->lrange($key,$value,$time);

break;

case 'delete':

//删除指定key

$return = $redis->delete($key);

break;

}

return $return;

}

运行返回如下错误:

Redis::connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known

服务器环境正常,redis 运行正常,若使用tp5提供的缓存驱动可以正常使用reids

求大神指点

看到系统缓存驱动内有提示说使用redisd 驱动,请问驱动在那下载

先确认是否读到配置文件再说

tp5直接使用

config('REDIS_HOST')

这样的方式读取配置文件更简洁一些。

我看了下

tp5

里面确实把

__call

去掉了,不过提供了

handler

方法返回缓存(你这里对应redis)对象,你要的操作还是能满足的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值