2015-08-27 119 views
2

以下哪個循環在Redis Lua腳本中運行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 

for i=1,10000 do 

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

end 

謝謝!

+2

運行的代碼,它的時間,並讓我們知道結果... –

+0

會做,只是想發佈,看看是否有人已經嘗試過這一點。 –

+1

只能猜測,但我會說這個循環會更加昂貴 –

回答

1

在redis中測試了1,000,000個項目集和1,000,000個鍵後,第二個循環的速度提高了6倍。 20.5s vs 3.1s。