码迷,mamicode.com
首页 > 其他好文 > 详细

redis入门基础学习--基本数据类型[String](二)

时间:2020-05-01 14:41:31      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:das   冗余   频率   需要   指令   键值   内存   设置   stringbu   

Redis基础数据类型


String
String是Redis里边最简单拿的一种数据结构,在Redis中,所有的key都是字符串,但是不同的key对应的value则具备不同的数据结构,五种不同的数据类型,主要是指value的数据类型不同。

Redis中的字符串是动态字符串,内部是可以修改的,像Java中的StringBuffer,它采用分配冗余空间的方式来减少内存的频率分配。在Redis内部结构中,一般实际分配的内存会大于需要的内存,当字符串小于

1M的时候,扩容都是在现有的基础上加倍,扩容每次扩1M空间,最大512M。

——set
    给一个key赋值的。
技术图片
——append
    使用append命令时,如果key已经存在,则直接在对应的value后追加值,否则就创建新的键值对。
技术图片
——decr
    可以实现对value的减1操作(前提是value是一个数字),如果不是数字,会报错。如果value不存在,则会给一个默认的值为0,在默认值基础上减1。
技术图片
——decrby
    和decr类似,但是可以自己设置减多少。
技术图片
——get
    用来获取key的value。
技术图片
——getrange
    用来返回key的value的子串,有点类似于Java里面的substring。这个命令第二个和第三个参数时截取的起始和终止位置,其中,-1表示最后一个字符串,-2表示倒数第二个字符串。
技术图片
——getset
    获取并更新某一个key。
技术图片
——incr
    给某一个key的value值自增。
技术图片
——incrby
    给某一个key的value值自增,同时还可以设置增加多少。
技术图片
——incrbyfloat
    和incrby类似,但是自增的类型可以设置为浮点数。
技术图片
——mget和mset
    批量获取和批量存储。
技术图片
——ttl
查看key的有效期,-1表示没有过期时间,-2表示已经过期
技术图片
——setex
在给设置value的同时,还设置过期时间,时间单位是秒。
技术图片
——psetex
和setex类似,只不过时间单位是毫秒。
技术图片
——setnx
默认情况下,set命令覆盖已经存在的key,setnx不会。
技术图片
——msetnx
批量设置。
技术图片
——setrange
覆盖一个已经存在的key的value。
技术图片
——strlen
查看字符串长度。
技术图片
  • BIT 类型

    在 redis 中,字符串都是以二进制的方式来存储的,列如 set k1 a ,a 对应的 ASCII 码是 97,97 转为二进制是 01100001,BIT 相关的命令就是对二进制进行操作的,


         1. getbit 指令     获取到 key 对应的 value 在 offset 处的 bit 值。

          技术图片

        2. setbit 指令     修改 key 对应的 value 在 offset 处的 bit 值,【例如:b 对应的二进制是 01100010】,此时我们修改最后两位将其颠倒位置

         技术图片

         3. bitcount 指令     统计二进制数据中 1 的个数

   技术图片

 


 



redis入门基础学习--基本数据类型[String](二)

标签:das   冗余   频率   需要   指令   键值   内存   设置   stringbu   

原文地址:https://www.cnblogs.com/sunkang-work/p/12813295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!