替换Redis为KeyDB后,如何在PHP中调用EXPIREMEMBER方法?
解决PHPRedis调用KeyDB EXPIREMEMBER命令的问题
有没有直接替换PHPRedis的KeyDB适配库?
目前没有专门为KeyDB打造、可直接完全替代PHPRedis的适配库。不过KeyDB完全兼容Redis协议,PHPRedis的绝大多数API都能直接在KeyDB环境下正常使用,仅少数KeyDB特有命令(比如EXPIREMEMBER)需要额外处理。
在PHPRedis中调用EXPIREMEMBER的方法
PHPRedis提供了rawCommand方法,可以直接向KeyDB发送原生命令,这是调用EXPIREMEMBER最直接的方式:
// 初始化PHPRedis实例(和连接Redis的方式完全一致) $redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 调用EXPIREMEMBER命令:参数依次为命令名、键名、过期时间(秒) $key = 'user_token_123'; $expireSeconds = 86400; $result = $redis->rawCommand('EXPIREMEMBER', $key, $expireSeconds); // 命令执行成功返回1,失败返回0 var_dump($result);
原理说明
rawCommand方法允许绕过PHPRedis封装的高层API,直接传递原始命令字符串和参数,KeyDB作为兼容Redis协议的数据库,能够识别并执行自身特有的EXPIREMEMBER命令。
内容的提问来源于stack exchange,提问作者John Rix
相关产品推荐
相关产品推荐

