redis-setbit理解

Posted 爷的眼睛闪亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis-setbit理解相关的知识,希望对你有一定的参考价值。

在redis中,存储的字符串都是以二级制的进行存在的。

举例:
设置一个 key-value ,键的名字叫“andy” 值为字符\'a\'

我们知道 \'a\' 的ASCII码是 97。转换为二进制是:01100001。offset的学名叫做“偏移” 。二进制中的每一位就是offset值啦,比如在这里 offset 0 等于 ‘0’ ,offset 1等于\'1\' ,offset2等于\'1\',offset 6 等于\'1\' ,没错,offset是从左往右计数的,也就是从高位往低位。

我们通过SETBIT 命令将 andy中的 \'a\' 变成 \'b\' 应该怎么变呢?

也就是将 01100001 变成 01100010 (b的ASCII码是98),这个很简单啦,也就是将\'a\'中的offset 6从0变成1,将offset 7 从1变成0 。

果然,就从\'a\' 变成 \'b\'了。 

这就是redis 中 “SETBIT” 的基本用法。

2. BITCOUNT 就是统计字符串的二级制码中,有多少个\'1\'。 所以在这里,

BITCOUNT andy 得到的结果就是 3 啦。

3. Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

原文链接:https://blog.csdn.net/hgd613/article/details/54095729

以上是关于redis-setbit理解的主要内容,如果未能解决你的问题,请参考以下文章

Redis 教程

烦躁 当写日记了

python3 变量理解 解释器理解 常量理解 用户交互理解

深入理解spring

如何理解FFT

深入理解Java内存模型