前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis字符串类型的API

Redis字符串类型的API

原创
作者头像
似水流年o
发布2022-03-02 22:10:46
4250
发布2022-03-02 22:10:46
举报
文章被收录于专栏:编程学习收获编程学习收获

字符串类型Redis五大基础数据类型的一种,下面介绍它相关的API操作

简单操作:

  • get/set/del : 获取key/设置key/删除key
    • get key
    • set key value
    • del key
图1
图1
  • incr / decr : 整数型key 加1/减1
    • incr key
    • decr key
图2
图2
  • incrby / decrby : 整数型key 指定整数相加/相减
    • incrby key num
    • decrby key num
图3
图3
  • incrbyfloat : 浮点数相加/相减
    • incrbyfloat key num
      • 注意: 没有decrbyfloat函数,相减写负数即可
图4
图4
  • append : 字符串末尾添加值
    • append key str
图5
图5
  • getrange : 获取key指定索引位置的字符串
    • getrange key 起始索引 结束索引
图6
图6
  • strlen : 返回key的长度
    • strlen key
图7
图7
  • mset / mget : 设置多个key/获取多个key (m <==> many)
    • mset k1 v1 k2 v2 k3 v3 …… kn vn
    • mget k1 k2 k3 …… kn
图8
图8

高级操作:

  • getbit / setbit:
  • bitcount:
  • bitop:

看Redis相关文章上经常会说到Redis五种基础数据类型三种高级数据类型三种高级数据类型中有Bitmap位图结构;

Bitmap底层的数据结构就是SDS字符串使用的是char类型的SDSBitmap使用的是bit类型的SDS,所以bitmap同样最大能支持的长度2^32

上述的三组API则是bitmap的有关操作;

  • getbit: 返回key对应的位图中offset偏移量的值
    • getbit key offset
图9
图9

解释一下:设置name=ab,字符串ab对应位数组的数据为0110000101100010,因为字符a的ASCII码是97 (二进制01100001),字符b的ASCII码是98(01100010)。

  • setbit: 设置key对应的位图中offset偏移量的值
    • setbit key offset value

上面我们设置nameab,现在需要修改为bb。由于a的二进制数据为01100001,b的二进制数据为01100010。所以进行下面操作,把index=6位置的1改为0,把index=7位置的0改为=1

图10
图10
  • bitcount: 获取key范围内为1的二进制位数
    • bitcount key start end (注意:start,end指是value位置,而不是value对应位图的位置)
图11
图11
  • bitop:对多个key的位图进行 与/或/亦或/非操作 (and or xor not)
    • bitop 操作 目的key key1 key2 key3 ....
图12
图12

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单操作:
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档