J'ai le script Lua suivant exécuté dans un environnement Redis:Redis + Lua. Puis-je retourner le résultat sans le stocker en mémoire?
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
Basiquement, ce qui se passe ici est que nous remplissons table 'résultat' avec des données agrégées (article_name, user_name, comment_text) et de le retourner. Pour autant que je sache, cette table sera entièrement stockée en mémoire jusqu'à la déclaration de retour.
Ma question principale est, est-ce que je peux retourner des données rangée par rangée, sans stocker la pleine réponse dans la mémoire?
Et aussi, est-il approprié d'utiliser des scripts Lua à des fins d'agrégation? (Comme j'essaie de le faire ici). Merci.
Merci pour votre aide! Je viens de commencer à expérimenter avec Redis et Lua, donc je ne sais presque rien des pratiques courantes dans ce domaine, – Informhunter
Tout le monde commence un jour, et vous semblez être sur la bonne voie. –