ako*_*nsu 5 node.js node-redis
在我的node.js脚本中,我有一个字符串数组,我想将LPUSH这些字符串放入Redis队列中.我试过了:
var redis = require('redis').createClient();
redis.lpush('queue', ['1', '2', '3'])
Run Code Online (Sandbox Code Playgroud)
这会导致单个字符串被推送:
redis 127.0.0.1:6379> lrange queue 0 -1
1) "1,2,3"
Run Code Online (Sandbox Code Playgroud)
Redis支持多个LPUSH命令值,我正在寻求有关利用此功能的帮助.我不是问如何循环我的数组并分别推送每个项目.:)
编辑:
我知道如果我这样做:
redis.lpush('queue', '1', '2', '3')
Run Code Online (Sandbox Code Playgroud)
我得到了我的期望,但在我的实际应用程序中,数组是在运行时生成的,我不知道它的内容.
小智 8
现在可以使用es6 spread语法实现。任何大小的数组都将作为函数的参数散布开。
redis.lpush('queue', ...arrayOfValues)
Run Code Online (Sandbox Code Playgroud)
这似乎是一个已知的问题/共同请求
建议的解决方法之一是直接使用send_command
你也可以试试这个(我自己没试过):
myvalues.unshift('queue');
redis.lpush.apply(redis, myvalues);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10329 次 |
| 最近记录: |