当前位置:网站首页>redis的二进制数组命令
redis的二进制数组命令
2022-06-26 15:50:00 【华为云】
redis的二进制数组命令
redis的二进制数组是用SDS来表示的,sds的len属性的值表示SDS保存了多少字节长的位数组,buf数组每个字节用一行来表示,每行8位而且数组是通过逆序来保存位数组的
getbit 命令
getbit命令显然是返回位数组指定偏移量的二进制位的值,
redis> GETBIT bit 10086(integer) 1执行过程是对偏移量除以8计算出偏移量指定的二进制位保存在位数组的那个字节中,然后偏移量mod8再加一计算出在第几二进制位中,获取到这个位的值进行返回
setbit命令
setbit命令就是对指定的偏移量设置新值,并返回旧值。如果偏移量大于当前的就会进行扩展
redis> SETBIT bit 10086 1(integer) 0bitcount命令
bitcount命令是用来统计数组中值是1的个数
redis> BITCOUNT bits(integer) 0redis> SETBIT bits 0 1 # 0001(integer) 0redis> BITCOUNT bits(integer) 1redis> SETBIT bits 3 1 # 1001(integer) 0redis> BITCOUNT bits(integer) 2bitcount命令的实现redis使用了查表法和汉明算法,二进制位的数量大于等于128位使用汉明算法,小于128位使用查表法。
bitop and 是进行与操作
bitop or是进行或操作
bitop xor是进行异或操作
bitop not是进行非操作
总结
这篇文章主要介绍了redis的二进制数组的相关内容,redis的二进制数组用SDS来表示,getbit命令返回位数组指定偏移量的二进制位的值,setbit命令对指定的偏移量设置新值,并返回旧值,bitcount命令统计数组中值是1的个数,当二进制位的数量大于等于128位的时候使用的是汉明算法,小于128位的时候使用的是查表法,bitop命令对二进制数组进行位操作,它有各种的参数,and表示与操作,or表示或操作,xor表示异或操作,not表示非操作,这些命令都是对二进制数组的操作命令,熟练掌握二进制数组命令可以让我们更加熟悉redis的二进制数组。
️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我️,点赞,评论,转发
- 关注
盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。 - 有不当之处欢迎批评指正。
边栏推荐
- Nanopi duo2 connection WiFi
- 清华“神奇药水”登Nature:逆转干细胞分化,比诺奖成果更进一步,网友:不靠精子卵子就能创造生命了?!...
- [time complexity and space complexity]
- Svg savage animation code
- Tweenmax+svg switch color animation scene
- (一)keras手写数字体识别并识别自己写的数字
- Why are encoder and decoder structures often used in image segmentation tasks?
- CNN optimized trick
- js创意图标导航菜单切换背景色
- 李飞飞团队将ViT用在机器人身上,规划推理最高提速512倍,还cue了何恺明的MAE...
猜你喜欢

补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍

NFT 项目的开发、部署、上线的流程(1)

Solana扩容机制分析(2):牺牲可用性换取高效率的极端尝试 | CatcherVC Research

Beijing University and Tencent jointly build angel4.0, and the self-developed in-depth learning framework "River map" is integrated into the ecology

The first batch in the industry! Tencent cloud security and privacy computing products based on angel powerfl passed CFCA evaluation

Stepn novice introduction and advanced

js文本滚动分散动画js特效

SVG大写字母A动画js特效

若依如何实现接口限流?

简单科普Ethereum的Transaction Input Data
随机推荐
01 backpack DP
还存在过有键盘的kindle?
股票开户优惠链接,我如何才能得到?在线开户安全么?
Nanopi duo2 connection WiFi
Development, deployment and online process of NFT project (2)
若依如何实现接口限流?
Why are encoder and decoder structures often used in image segmentation tasks?
SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)
7 自定义损失函数
Leetcode one week race 298, first three questions
「干货」NFT 上中下游产业链全景分析
大话领域驱动设计——表示层及其他
4 自定义模型训练
李飞飞团队将ViT用在机器人身上,规划推理最高提速512倍,还cue了何恺明的MAE...
Angel 3.2.0 new version released! Figure the computing power is strengthened again
Selenium saves elements as pictures
R语言广义线性模型函数GLM、glm函数构建逻辑回归模型(Logistic regression)、分析模型是否过离散(Overdispersion)、使用残差偏差与二项式模型中的剩余自由度的比率评估
面试踩坑总结一
SVG大写字母A动画js特效
AUTO sharding policy will apply DATA sharding policy as it failed to apply FILE sharding policy