John T Asked: 2014-02-17 23:50:45 +0800 CST2014-02-17 23:50:45 +0800 CST 2014-02-17 23:50:45 +0800 CST Redis 上的连续作业 [关闭] 772 我想设置一个脚本,将列表中的一堆值相加,然后将结果放入total-count,然后删除整个列表,这一切都应该每分钟重复一次,或者在脚本完成后立即重复。是否可以制作执行此操作的脚本? scripting redis 1 个回答 Voted Best Answer Itamar Haber 2014-02-18T17:24:59+08:002014-02-18T17:24:59+08:00 Redis 不会安排作业/脚本——您必须使用某些东西(例如 cron)来触发脚本。 脚本本身听起来很简单 - LRANGE 应该用于迭代列表的元素,将它们相加,SETtotal-count到结果并删除列表。Lua 将是完美的,但你也可以使用 redis-cli .sh。 然而,令我困扰的是 LRANGE 将是 O(N) 并且您想一直运行它......这意味着您的 Redis 将忙于做这一切只是为了聚合?也许您应该考虑一个替代方案,它可以节省所有工作(来自 Redis)和安排脚本的需要。例如,一种可能的替代方法是将列表的成员直接添加到total-count键中,甚至可能不首先将它们存储在列表中——除非我遗漏了什么,否则这对您的请求来说似乎是一个更简单的解决方案。
Redis 不会安排作业/脚本——您必须使用某些东西(例如 cron)来触发脚本。
脚本本身听起来很简单 - LRANGE 应该用于迭代列表的元素,将它们相加,SET
total-count
到结果并删除列表。Lua 将是完美的,但你也可以使用 redis-cli .sh。然而,令我困扰的是 LRANGE 将是 O(N) 并且您想一直运行它......这意味着您的 Redis 将忙于做这一切只是为了聚合?也许您应该考虑一个替代方案,它可以节省所有工作(来自 Redis)和安排脚本的需要。例如,一种可能的替代方法是将列表的成员直接添加到
total-count
键中,甚至可能不首先将它们存储在列表中——除非我遗漏了什么,否则这对您的请求来说似乎是一个更简单的解决方案。