eval "local rt={};for i=1,ARGV[1],1 do local v=redis.call('LPop',KEYS[1]);if(v==nil) then break; end;rt[i]=v;end;return rt;" 1 t 3
这个是 redis list,pop 一次只能取一个值,我想一次能批量取。所以只能用 lua 脚 本。
local v=redis.call('LPop',KEYS[1]);
if(v==nil) then
break;
end;
我是想 v=nil 时,终止循环,但好像无效,我哪儿里写错了?
1
x537196 2019-01-24 11:22:43 +08:00
Lrange key 0 -1
|
2
toyuanx 2019-01-24 11:31:18 +08:00
如果使用 redis,sRandMember 可以随机批量取数据且不删,spop 可以随机取数据且删
|