您现在的位置是:课程

【赵强老师】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)

-->

站点信息

  • 文章统计篇文章