【发布时间】:2017-01-01 06:32:01
【问题描述】:
我在 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 脚本进行聚合是否合适? (就像我在这里尝试做的那样)。 谢谢。
【问题讨论】: