在Redis中进行总和/计数/分组的最佳方法是什么?

时间:2012-09-18 09:47:33

标签: redis

对于Redis列表(或set / zset / hset)

['5', '5', '5', '5', '4', '3', '3', '3', '2', '2', '2', '2', '1', '1', '1']

最好的统计方法是什么,就像sql做的那样

select count(key), sum(key) from table group by key; 

希望客户端循环不是唯一的方法.......

1 个答案:

答案 0 :(得分:17)

最好的方法是将sum存储为单独的密钥,并在每次添加/删除set / hash / zset中的值时进行更新。

在Redis中,您应该尝试根据访问模式对数据建模。如果在运行时需要总和,则预先计算并存储总和。如果您需要按小时/每日/每月汇总,则必须创建相应的命名密钥。