我现在需要根据充值表来统计每个公司、部门、小组(级别可能是有 N 级)以及个人(个人还分不同岗位)的今日、本月、上月以及累计充值金额的排行榜功能(排行榜一小时更新一次)。目前打算用 redis 的 zSet 来处理,但是感觉工程量巨大(可能是因为我思路错了),所以请教下如何设计比较好?
1
wysnylc 2020-05-12 10:45:53 +08:00 1
我天天做这玩意,给你个提示 相同积分数据重排用两个 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 1
SQL,如果不能直接访问 db 的话,收消息累加计数,注意持久化数据,redis 一般不作为高可用存储,只做缓存之用
|
9
forrestchang 2020-05-12 14:11:22 +08:00 1
非实时的 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 维护组织关系。
|