存储空间

Redis中有5种基本数据结构,bitmap是基于string类型的,一个字符串最多只能占用512MB的空间。
先看看计算机存储单位的换算:

  1. 1MB = 1024KB
  2. 1KB = 1024B
  3. 1B = 8bit

512MB = 512 * 1024 * 1024 * 8bit = 2^32bit,所以使用bitmap能支持的最大长度就是2^32

使用方式

设置setbit key offset value

  1. 127.0.0.1:6379> setbit bit-key-1 1 1
  2. (integer) 0

获取getbit key offset

  1. 127.0.0.1:6379> getbit bit-key-1 1
  2. (integer) 1

统计bitcount key [start end]

  1. 127.0.0.1:6379> bitcount bit-key-1
  2. (integer) 1

使用场景

使用bitmap可以大大降低存储空间,记录点赞、用户签到、统计活跃用户、用户在线状态