2.redis数据类型

  • Resis数据类型

key:String

value:

String(字符/数值/bitmaps)

hash

list

set

sortedSet

image.png

  • Redis正反索引
image.png
  • Redis二进制安全

采用字节流进行存储

长度取决于客户端编码方式

不同的编码方式占用用空间不同

使用时客户端统一编码避免出现乱码

  • bitmaps

image.png

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
image.png
  • Hash
image.png
  • Set
image.png
  • SortedSet

交并差集,需要注意score,根据权重取最高/最低/求和
存储采用skip list 空间换时间保证增删改速度


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容