栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis操作位

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis操作位

redis操作位
  • 1.redis的基本操作可以分为两大类
    • 1.1 零存整取
    • 1.2 整存零取
  • 2.统计
    • 2.1 bitcount命令(统计1出现的次数)
    • 2.2 bitpost命令
  • 3.BIT批处理
  • 3.1 bitfield key get命令获取某几位且返回一个数
  • 3.1 bitfield key set命令去修改值
  • 3.3 bitfield key incrby自增

1.redis的基本操作可以分为两大类 1.1 零存整取

1.例如存储一个java字符串,j对应的ACII码为74,转为2进制为01001010,a对应的ACII码为a,转为2进制为01100001,v对应的ACII码为118,转为2进制为01110110。如下k1为key第一个参数为偏移量,第二个参数位置

1.2 整存零取

2.统计 2.1 bitcount命令(统计1出现的次数)

场景:假设要统计用户的签到记录,可以通过1来代表签到,0代表未签到,格式即为:101000111…

另外,bitcount命令后还可以带两个参数表示起始位置和结束位置,注意:是指value值的起始位置,不是值bit的起始位置

2.2 bitpost命令

1.统计0/1出现的起始位置

2.后面还可以带两个参数,指的是字符的起始位置,不是bit的起始位置!

3.BIT批处理 3.1 bitfield key get命令获取某几位且返回一个数

获取k1中值的位,从0开始,获取5个位,返回一个数,u代表无符号,i代表有符号,有符号,1开头就代表负数,0就代表正数!

 bitfield k1 get u5 0

3.1 bitfield key set命令去修改值

1.比如,现在k2对应的value为ja

2.修改为jb,b对应的ACII码为98
如下命令代表从第八开始的后八位用98转换成二进制(无符号)来替代

 bitfield k2 set u8 8 98

3.3 bitfield key incrby自增

1.自增操作有可能出现溢出,既有向上溢出也有可能出现向下溢出,redis中对于溢出采取的方案是折返,即8位无符号位数255加1溢出变为0,8为有符号数127,加1变为-128

以下代表从第五位开始的后三位加1

bitfield k2 incrby u3 5 1


2.再给第五位开始的后三位加1,会出现三组1+1的情况,出现溢出,就都变成0了

bitfield k2 incrby u3 5 1

3.也可以修改溢出策略,改为执行失败fail

bitfield k2 overflow fail incrby u3 5 1


4.sat表示保留在最大值或者最小值

bitfield k2 overflow sat incrby u3 5 1

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号