Scripting

Redis 上的連續作業

  • February 18, 2014

我想設置一個腳本來總結列表中的一堆值,然後將結果放入total-count然後刪除整個列表,這一切都應該每分鐘重複一次或腳本完成後立即重複。是否可以製作一個執行此操作的腳本?

Redis 不安排作業/腳本 - 您必須使用某些東西(例如 cron)來觸發腳本。

腳本本身聽起來很簡單——應該使用 LRANGE 來迭代列表的元素,將它們相加,設置total-count結果並刪除列表。Lua 非常適合這個,但你也可以使用 redis-cli .sh 例如。

然而,困擾我的是 LRANGE 將是 O(N) 並且你想一直執行它……這意味著你的 Redis 將忙於做這一切只是為了聚合?也許您應該考慮一個替代方案,它可以節省所有工作(來自 Redis)並且需要安排一個腳本。例如,一種可能的替代方法是將列表的成員直接添加到total-count鍵中,甚至可能一開始就沒有將它們儲存在列表中 - 除非我遺漏了什麼,否則這似乎是您要求的更簡單的解決方案。

引用自:https://dba.stackexchange.com/questions/59027