Redis五种基本数据类型-String

        String 是Redis里面的最最简单的一种数据结构,在Redsi中,所有的key都是字符串,(java对象序列化后就是字符串)但是不同的 key对应的value则具有不同的数据结构,我们所说的五种不同的数据类型,主要是指value的数据类型不同。
        Redis中的字符串是动态字符串,内部是可以修改的,像java中的StringBuffer,(注String是不可以修改的),它采用分配冗余空间的方式来减少内存的频繁分配。在Redis内部结构中,一般实际分配的内存会大于需要的内存,当字符串少于1M的时候,扩容都是在现有的空间基础上加倍,扩容每次扩1M空间,最大512M。

操作命令:

-append
使用append命令时,如果key已经存在,则直接在对应的value增加值
-decr
可以实现对value的减1操作(前提value是一个数字),如果value不是数字会报错,如果value不存在,则会给一个默认值0,在默认值的基础上建一下。
-set
set就是给一个key赋值。
-decrby
和decr类似,但是可以设置自己的步长,该命令第二个参数就是步长。

-get
get用来获取一个key的value。
-getrange
getrange 可以用来返回key对应的value的子串,类似于java的substring方法范围参数 4 到-1,这里-1表示最后一个-2表示倒数第二个数,截取的起始是4终止位置-1,-1表示最后一个字符串。

-getset
获取并更新某一个key。

 

-incr
给某一个key的value自增,每次自增1。

-incrby
给某一个key的value自增,同时还可以设置步长。
-incrbyfloat
和incrby类似但是可以设置浮点数。

 

-mget和-mset
批量设置和批量获取。

 

 -ttl
查看key的有效期 ,值为-1表示永远不会过期,-2表示已经过期。
-setex
在给key设置value的同时,还设置过期时间单位是秒。

-psetex
和setex类似只不过这个时间单位是毫秒。

-setnx
set if not exit 默认情况下set命令会覆盖已经存在key的value,setnx则不会。

-msetnx
同setnx只不过批量设置。

-setrange
覆盖一个已经存在key的value,参数有一个偏移量,0是起始位置为0。

-strlen
查看字符串的长度。

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

-getbit
key对应的value在offset 处的value值,也就是bit值。

-setbit
修改key对应的value在offset处的bit值。就是二进制的值。

b对应的ASCII码是98,bit值是01100010  (计算十进制时,是2从右向左开始0-7,但是存储bit值时位移offset是从左向右计算的)。
a对应的ASCII码是97,bit值是01100001。
下面通过setbit命令把a变成b

 

- bitcount
统计二进制数据中1的个数,这里0 3是位移偏移量但是是指a而不是二进制的位移因为k1存储的是a。

 

参考:江南一点雨Redis视频教程

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值