Redis Bitmaps简介

Redis Bitmaps简介

Bitmaps并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M,最适合设置成2^32个不同字节。

字节操作可以分为两类:恒定时间的单个字节操作如将一个字节设置为1或者0、或者获取一个字节的值,和批量字节操作如在给定的字节范围内计算设置字节的数量。

bitmaps 的最大优势之一在存储信息时极其节约空间。例如,在一个以增量用户ID来标识不同用户的系统中,记录用户的四十亿的一个单独bit信息(例如,要知道用户是否想要接收最新的来信)仅仅使用512M内存。

我们可以使用SETBIT命令设置字节,使用GETBIT命令检索字节:

>setbit key 10 1
(integer) 1
>getbit key 10
(integer) 1
>getbit key 11
(integer) 0

SETBIT命令原型为:

SETBIT key offset value

注:如果key不存,则创建key(赋于默认字符串)。key对应的字符串值的长度是可以增加的,以确保字符串可以在offset位置持有一个bit位,offset参数必须大于等于0,小于2^32。当offset值大于key对应字符串值长度时,字符串值长度增加,SETBIT返回值为0。

GETBIT命令原型为:

>GETBIT key offset

如果指定offset没有设置bit值,则通常返回0。

批量字节操作主要有三个命令:BITOPBITCOUNTBITPOS,详细参看redis官方命令介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值