php-redis执行原生的redis指令

25 篇文章 1 订阅

我们知道php-redis是php的一个扩展,方便了我们调用redis,但是它也有不足的地方,比如set方法

public function set( $key, $value, $timeout = 0 ) {}

对应redis的set指令

SET key value [EX seconds] [PX milliseconds] [NX|XX]

Redis >= 2.6.12 时增加了 EX,PX,NX,XX 很有用的参数,所以我们无法使用php-redis来实现这个指令,当key不存在的时候,设置key-value,同时设置过期时间,想要以原子化的方式来达到这样的效果,只能使用$redis->eval(lua脚本)来达到,还好今天发现 $redis->rawCommand()方法可以执行原生的redis指令。
在这里插入图片描述
使用三个点的语法来接收不定长的参数个数。

$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$re = $redis->rawCommand('set', 'name_test_1', 'rxy', 'EX', 30, 'NX');
var_dump($re);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值