redis - redis对bit的操作

it2025-08-29  5

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

redis的bit操作有

getbit: 首先找到字节数组的位置,然后找到位的位置,返回位的值。比如:获取20位中的位的值,首先通过(20 / 8)= 2 获取字节的位置,然后通过(20 % 8)+ 1 = 5 获取位的位置,然后根据字节中位的位置即获取byte[2]的第5位的值。 setbit: 首先找到要写入的字节位置,如果没有,则创建,然后找到字节对应的位,将旧值存储到oldValue,然后修改为新值,最后返回旧值。 bitcount: 字节数组中位的值为1的个数,算法:(1)逐个遍历位;(2)字节位查表法;(3)汉明重量(位分组),在redis中是通过查表法与汉明重量结合的方式实现的,时间复杂度O(n)。 bittop: 位的与、或、非、异或操作。

更多信息,关注公众号:

最新回复(0)