0

我想使用 redis 时间序列来存储项目计数。即监控许多公司和公司 A 有一个帐户,他们在其中添加了员工......当员工添加一个项目时,我想更新他们今天、本周和本月的计数,并增加公司 A 的今天、本周和本月的帐户项目月。RedisTimeSeries 是最好的技术吗?如何监控多家公司及其员工?

4

1 回答 1

0

如果您不需要随时间推移的项目历史记录,一种选择是在 multi exec 块或Lua 脚本中使用计数器(整数、Redis 字符串) 。

我标记了公司名称 (A),以便所有密钥都驻留在同一个分片上。123 表示员工编号

MULTI
SADD {A}:123:items newItem
INCR {A}:123:total
INCR {A}:123:2021
INCR {A}:123:2021:month:07
INCR {A}:123:2021:week:32
EXEC

或者,您可以将每个用户的所有计数保存在单个哈希中并使用HINCRBY

任何一种解决方案都可能需要进行一些清理以延长运行时间。

于 2021-07-25T16:45:56.947 回答