存储空间
Redis中有5种基本数据结构,bitmap是基于string类型的,一个字符串最多只能占用512MB的空间。
先看看计算机存储单位的换算:
1MB = 1024KB
1KB = 1024B
1B = 8bit
512MB = 512 * 1024 * 1024 * 8bit = 2^32bit
,所以使用bitmap能支持的最大长度就是2^32
。
使用方式
设置setbit key offset value
:
127.0.0.1:6379> setbit bit-key-1 1 1
(integer) 0
获取getbit key offset
:
127.0.0.1:6379> getbit bit-key-1 1
(integer) 1
统计bitcount key [start end]
:
127.0.0.1:6379> bitcount bit-key-1
(integer) 1
使用场景
使用bitmap可以大大降低存储空间,记录点赞、用户签到、统计活跃用户、用户在线状态