PHP如何向Redis list一次性PUSH多个值
php通过redis扩展,使用rPush、lPush方法向redis list投递值。但是如果要投递的是一个数组,多个值怎么处理呢?
提供三种方案……,只要做出来就是好样的,是的只要能逮住耗子的就是好猫!
方案一
秒想做法,直接foreach循环搞定,简单粗暴!
$ids = $this->getArticleIds();
$redis = instanceRedis();
foreach ($ids as $v) {
$redis->rPush('key-key-key',$v);
}
方案二
利用 call_user_func_array 可以使用数组来当参数列表的特性,在写法上不比foreach简单多少。不过此函数的特性还是需要了解一下。万一以后有业务需要用到!
$ids = $this->getArticleIds();
$redis = instanceRedis();
$ids = array_merge(['key-key-key',$ids]);
call_user_func_array([$redis, 'rPush'], $ids);
方案三
php5.6+ 支持的可变参数,在数组前加 '...' 实现把数组当作函数的参数列表,这个特性如果你不了解打死也不知道还能这样用。
$ids = $this->getArticleIds();
$redis = instanceRedis();
$redis->rPush('key-key-key',...$ids);

相关推荐
-
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题2025-04-02 00:59:31 -
MySQL最常用分组聚合函数2025-04-02 00:55:56
-
NGINX: 轮询调度、加权轮询调度、平滑加权轮询调度2025-04-02 00:55:49
-
在Windows平台上安装Nginx并设置开机自动启动服务2025-04-02 00:47:04
-
PHP判断文件或者目录是否可写,兼容windows/linux系统
PHP判断文件或者目录是否可写,兼容windows/linux系统2025-04-02 00:27:54