2016-08-25 7 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 

ここで何が起こるかBasiclyは、我々はいくつかの集計データ(article_name、USER_NAME、COMMENT_TEXT)と「結果」の表を記入し、それを返します。

私の知る限り、この表はreturn文まで完全にメモリに格納されます。

私の主な質問は、メモリに完全な応答を保存せずに、行ごとにデータを返すことができますか?

さらに、集約の目的でLuaスクリプトを使用することは適切ですか? (私がここでそれをやろうとしているように)。 ありがとうございます。

答えて

0

いいえ、結果をストリーミングできません。

WRTでも非常に適切です。

+0

ありがとうございました!私はちょうどレディスとルアを試し始めました。だから、この分野の一般的な慣習についてはほとんど知らないのです。 – Informhunter

+0

誰もがいつか始まり、あなたは正しい道にいるようです。 –

関連する問題