2016-08-25 95 views
0

我在Redis的環境中執行以下Lua中:Redis + Lua。我可以返回結果而不將其存儲在內存中嗎?

local result = {} 
    local comment_ids = redis.call('smembers', 'comment:all') 
    for _, key in ipairs(comment_ids) do 
     local comment_text = ... 
     local article_name = ... 
     local user_name = ... 

     result[#result+1] = {article_name, user_name, comment_text} 
    end 
    return result 

基本上,這裏發生的事情是,我們填充一些聚合數據「結果」表(ARTICLE_NAME,USER_NAME,COMMENT_TEXT)並返回。

據我所知,這個表將完全存儲在內存中,直到返回語句。

我的主要問題是,我可以按行返回數據,沒有在內存中存儲完整的響應?

此外,是否適合使用Lua腳本進行聚合? (就像我想在這裏做的那樣)。 謝謝。

回答

0

不,您不能傳輸結果。

WRT也 - 這是非常合適的。

+0

感謝您的幫助!我剛開始嘗試使用Redis和Lua,所以我幾乎不知道這方面的一些常見做法, – Informhunter

+0

每個人都有時間開始,而且你似乎走在了正確的道路上。 –

相關問題