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

每个人都有时间开始,而且你似乎走在了正确的道路上。 –

相关问题