本文主要和大家分享一下redis的高级特性:bit位操作。
力求让大家彻底学会使用redis的bit位操作并掌握其底层实现原理!主要包含以下内容:
-
redis位操作命令示例
-
底层数据结构分析
-
为什么他的算法时间复杂度是O(1)?
-
10亿数据量需要多大的存储空间?
-
redis位操作适合哪些应用场景?
本文redis试验代码基于如下环境:
操作系统:Mac OS 64位
版本:Redis 5.0.7 64 bit
运行模式:standalone mode
# redis位操作
reids位操作也叫位数组操作、bitmap,它提供了SETBIT、GETBIT、BITCOUNT、BITTOP四个命令用于操作二进制位数组。
先来看一波基本操作示例:
SETBIT
语法:SETBIT key offset value
即:命令 key 偏移量 0/1
setbit命令用于写入位数组指定偏移量的二进制位设置值,偏移量从0开始计数,且只允许写入1或者0,如果写入非0和1的值则写入失败:
<