1. 目的
业务上有需求,希望PHP向Redis的list一次性写入多个值
2. 操作
2.1 Redis语法是否支持
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->del('foo');
$res = $redis->lPush('foo', '1', '2', '3', '4');
var_dump($res); // int(4)
2.2 利用call_user_func_array实现lPush一个数组
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->del('foo');
$res = call_user_func_array([$redis, 'lPush'], ['foo', '11', '22', '33', '44']);
var_dump($res); // int(4)
2.3 利用...
实现lPush一个数组
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->del('foo');
$res = $redis->lPush('foo', ...['111', '222', '333', '444']);
var_dump($res); // int(4)
3. 小结
- PHP是可以向Redis的list一次性写入多个值
- 利用PHP语法糖,实现数组一次性lPush到Redis