具有大循环的 Redis Lua 脚本

Joe*_*ews 6 lua redis

对于 10,000 次迭代,以下哪个循环在 Redis Lua 脚本中运行得更快。或者它们都会以相同的速度运行。

访问 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
Run Code Online (Sandbox Code Playgroud)

或者

for i=1,10000 do

  local value = redis.pcall('get',i) 
  -- do some logic on the value

end
Run Code Online (Sandbox Code Playgroud)

谢谢!

Joe*_*ews 6

在 Redis 中使用 1,000,000 个项目集和 1,000,000 个键进行测试后,第二个循环速度快了 6 倍。20.5 秒与 3.1 秒。