以下哪个循环将在Redis Lua脚本中以10,000次迭代更快地运行。或者它们都会以相同的速度运行。
访问lua脚本中的redis密钥需要花费与访问本地变量相同的时间,例如表的特定索引处的值。
local members = redis.pcall('smembers','10000memberset')
for i=1,table.getN(members) do
local value = members[i]
-- do some logic on the value
end
或
for i=1,10000 do
local value = redis.pcall('get',i)
-- do some logic on the value
end
谢谢!
答案 0 :(得分:2)
在使用1,000,000个项目集和1,000,000个redis键进行测试后,第二个循环的速度提高了6倍。 20.5s vs 3.1s。