1、核心思想
1.1 为什么使用redis,而不是数据库?
主要原因:数据量大,查询起来速度慢,实时性弱,还可能面临,数据分散,需要各方面汇总.
1.2 redis的zset
1.zset的常用方法
ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数.如果是更新则会返回0
2.ZCOUNT key min max
计算在有序集合中指定区间分数的成员数
3.ZINCRBY key increment member
有序集合中对指定成员的分数加上增量 increment
4.ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合指定区间内的成员
5.ZREM key member [member ...]
移除有序集合中的一个或多个成员
更多 Redis 有序集合(sorted set) | 菜鸟教程 (runoob.com)
2.如何解决排序中多维度的问题
多个维度的排序问题在redis中的解决方案
Redis 的分数类型采用的是 double,64 位双精度浮点数只有 52 位有效数字,它能精确表达的整数范围为 - 2^53 到 2^53,如果 Redis 的分数类型为 int64,我们就没有上面的烦恼。
如何解决上面的问题呢?
第一维度,第二维度,第N维度分段存储在64个bit位置上.