Redis-高级数据类型-bitmaps扩展操作

业务场景

电影网站

  • 统计每天某一部电影是否被点播
  • 统计每天有多少部电影被点播
  • 统计每周/月/年有多少部电影被点播
  • 统计年度哪部电影没有被点播

业务分析

01010011
《非诚勿扰》
id:5
offset:4

扩展操作

  • 对指定key按位进行交、并、非、异或操作,并将结果保存到destKey中
bitop op destkey key1 [key2...]
  • op

    • and:交
    • or:或
    • not:非
    • xor:异或
  • 统计指定key中1的数量

bitcount key [start end]

示例:

127.0.0.1:6379> setbit 20880808 0 1
(integer) 0
127.0.0.1:6379> setbit 20880808 4 1
(integer) 0
127.0.0.1:6379> setbit 20880808 8 1
(integer) 0
127.0.0.1:6379> setbit 20880809 0 1
(integer) 0
127.0.0.1:6379> setbit 20880809 5 1
(integer) 0
127.0.0.1:6379> setbit 20880809 8 1
(integer) 0
127.0.0.1:6379> bitcount 20880808
(integer) 3
127.0.0.1:6379> bitcount 20880809
(integer) 3
127.0.0.1:6379> setbit 20880808 6 1
(integer) 0
127.0.0.1:6379> bitcount 20880808
(integer) 4
127.0.0.1:6379> bitop or 08-09 20880808 20880809
(integer) 2
127.0.0.1:6379> bitcount 08-09
(integer) 5

Tips:

  • redis应用于信息状态统计

你可能感兴趣的:(Redis-高级数据类型-bitmaps扩展操作)