- Resis数据类型
key:String
value:
String(字符/数值/bitmaps)
hash
list
set
sortedSet
- Redis正反索引
- Redis二进制安全
采用字节流进行存储
长度取决于客户端编码方式
不同的编码方式占用用空间不同
使用时客户端统一编码避免出现乱码
- bitmaps
setbit
中的offset
指的是位索引
- bitops
[start] [end] 为字节索引
返回结果为索引位
- bigmaps应用场景
统计用户登录天数
// 登录记录 key:用户id 每位代表一天,每个用户需要366位
setbit userx-key 1 1 // 用户x 第1天登录
setbit userx-key 2 1 // 用户x 第2天登录
...
setbit userx-key 365 1 // 用户x 第365天登录
//统计查询
STRLEN userx-key //查询长度
BIGCOUNT 'userx-key' 0 -1 //统计一年内登录天数
统计活跃用户
//活跃记录 key:日期 每位代表一个用户
setbit 20220101 1 1 //2022-01-01 用户1登录
setbit 20220102 1 1 //2022-01-02 用户1登录
setbit 20220102 2 1 //2022-01-02 用户2登录
bitop or key-x 20220101 20220102 // 20220101 20220102 做或运算 去重后存储到 key:key-x
BITCOUNT key-x 0 -1//2022-01-01到2022-01-02 活跃用户2
- List
- Hash
- Set
- SortedSet
交并差集,需要注意score,根据权重取最高/最低/求和
存储采用skip list 空间换时间保证增删改速度