您现在的位置是:课程
【赵强老师】Redis案例分析
2023-06-29 21:12课程 人已围观
首先我们来了解一下setbit的语法,然后再通过一个赵老师的原创视频看看如何使用setbit来统计网站活跃的用户信息。
SETBIT key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。
当 key 不存在时,自动生成一个新的字符串值。
字符串会进行伸展(grown)以确保它可以将value保存在指定的偏移量上。
当字符串值进行伸展时,空白位置以 0 填充。
底层的原理剖析
-
位图计数(Population Count)
位图计数统计的是bitmap中值为1的位的个数。位图计数的效率很高,例如,一个bitmap包含10亿个位,90%的位都置为1,在一台MacBook Pro上对其做位图计数需要21.1ms。SSE4甚至有对整形(integer)做位图计数的硬件指令。
-
Redis Bitmaps
Redis允许使用二进制数据的Key(binary keys) 和二进制数据的Value(binary values)。Bitmap就是二进制数据的value。Redis的 setbit(key, offset, value)操作对指定的key的value的指定偏移(offset)的位置1或0,时间复杂度是O(1)
上一篇:深入解读MySQL8.0之新特性
下一篇:奥威BI For U8标准方案