最近学习redis的时候,见到了位操作这个神奇的命令,这个命令的高位低位等问题,在《redis入门指南》中,描述得含糊不清,所以我想来实验一下

首先我们知道,redis字符串类型中,如果执行了set a 0这个命令,那么redis会把这个"0"当做字符串看待,也就是说,实际上a的值是48.
当然这个值可以进行incr操作,那么我们有理由推测,redis里面其实并不会存储真正的整数.

言归正传,0的二进制值为:00110000,它并不是一个回文串,所以,我们想要知道getbit a 0取得是最低位还是最高位的话,把0~7位数字都输出一下就知道了
redis 字符串类型 位操作
这个结果那就说明了,offset为0时,表示最高位.

那么如果在这种情况下,我执行setbit a 8 1会发生什么呢?
redis 字符串类型 位操作

显然,redis会选择在当前字符串后面附加一个字节的数据,然后在上面进行操作

相关文章:

  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2021-05-05
  • 2021-11-12
  • 2022-12-23
猜你喜欢
  • 2022-01-10
  • 2022-02-19
  • 2021-05-19
  • 2022-12-23
  • 2021-11-26
相关资源
相似解决方案