2021
10-25
10-25
聊聊Redis二进制数组Bitmap
好久没有更新了,之前公司在做关注/粉丝这块儿缓存的时候,我选择的就是Bitmap,那时是我第一次见识到这种数据数组形式,用到的有SETBIT,GETBIT,BITCOUNT,命令如何使用就不说了,今天来仔细看看这三个命令的实现和原理。选用bitmap的考量:位数组的实现关注关系需求中关注对象和被关注人都是0-几千万的数据对象,存储这种对应关系时,采用bitmap这种位数组,明显要比uid的set方式要节省存储空间,redis的...
继续阅读 >
Redis位图(Bitmap)及二进制的问题SETBITkeyoffsetvalue对key所储存的字符串值,设置或清除指定偏移量上的位(bit)。位的设置或清除取决于value参数,可以是0也可以是1。当key不存在时,自动生成一个新的字符串值。字符串会进行伸展(grown)以确保它可以将value保存在指定的偏移量上。当字符串值进行伸展时,空白位置以0填充。offset参数必须大于或等于0,小于2^32(bit映射被限制在512MB之内)。返回值是指...