我想使用redis时间序列来存储项目计数。也就是说,监控许多公司,公司A有一个帐户,他们在那里增加了员工...当员工添加一个项目时,我想要更新他们今天、本周和本月的计数,并同时增加公司A的今天、本周和本月的账户项目。RedisTimeSeries是最好的技术吗?如何监控多个公司及其员工?
发布于 2021-07-26 00:45:57
如果您不需要项目的历史记录,一种选择是在多执行代码块或Lua script中使用计数器(整数、Redis字符串)。
我标记了公司名称(A),以便所有密钥都驻留在相同的分片上。123表示雇员id。
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
任何一种解决方案都可能需要进行一些清理,以延长运行时间。
https://stackoverflow.com/questions/67355401
复制相似问题