
我现在需要根据充值表来统计每个公司、部门、小组(级别可能是有 N 级)以及个人(个人还分不同岗位)的今日、本月、上月以及累计充值金额的排行榜功能(排行榜一小时更新一次)。目前打算用 redis 的 zSet 来处理,但是感觉工程量巨大(可能是因为我思路错了),所以请教下如何设计比较好?
1 wysnylc 2020-05-12 10:45:53 +08:00 我天天做这玩意,给你个提示 相同积分数据重排用两个 zset |
2 xcstream 2020-05-12 10:53:37 +08:00 一小时更新一次 sql 查一下就可以了 |
3 xiaowangge 2020-05-12 11:09:01 +08:00 内部系统的话,SQL 就够用了 |
5 DDounx 2020-05-12 11:15:22 +08:00 SQL 好一点,内部的话 |
8 ljzxloaf 2020-05-12 14:07:21 +08:00 SQL,如果不能直接访问 db 的话,收消息累加计数,注意持久化数据,redis 一般不作为高可用存储,只做缓存之用 |
9 forrestchang 2020-05-12 14:11:22 +08:00 非实时的 SQL 比较好,实时的可以选择 Redis + ZSET 。 后者相同的数据可以把时间序列化成小数来做二维排序。 |
11 wmhx 2020-05-12 16:52:16 +08:00 一种情况一个 group 的 sql, 难么? 先动手搞起来. |
12 huanghe314 2020-08-22 02:27:08 +08:00 via iPhone 这有啥工作量,zset 往里放不就行了,只放每个人的就行,db 维护组织关系。 |