Redis基础学习之String类型
1.string类型的常用方法
1.1 set方法
1.1.1 set key value nx
nx是在key不存在的时候才去操作,相当于只能新增操作
1.1.2 set key value xx
xx是在key存在的时候才能去操作,相当于只能更新操作
1.2 meset和mget
设置和取出多个值,可以通过mset和mget指令进行执行
1.3 append
追加字符串,可以通过append指令进行执行
1.4 getrange
获取范围内的字符串,可以通过getrange key 加上 正向索引或者反向索引进行截取,正向所以是从0开始计算,反向索引是从-1开始计算
1.5 setrange
设置范围内的字符串,可以通过setrange key 加上正向索引或者反向索引进行操作,如果需要设置的值超过原有索引后面的值会全部覆盖掉。
1.6 strlen
获得字符串的长度,可以通过strlen进行获取
1.7 getset
根据key设置新值,在重新设置新的value值成功后会显示直接老的值,这样可以节省通信成本的浪费,只发出一次通信请求完成修改老值并且设置新值的操作。
1.8 msetnx
msetnx是可以设置多个值,并保持原子性(其中有一个失败则都失败),mget是获取多个key的值
2.Redis二进制安全机制
Redis是采用二进制安全机制,即从sorket中获取数据是获取数据的字节流,因为Redis是面向多语言使用的,每种语言定义的类型都有所不同。
比如在存储数值的时候,Redis还是会按照一个字符一个字节进行存储,而不是将数据当成数值进行存储。
再举个栗子,处理中文的时候,在utf-8下一个中文字符是占三位,在gbk编码下是占两位,在直接使用redis-cli指令的时候会获得/x../x...这样的十六进制的值,但加上 -- raw参数后会根据Redis配置好的编码集进行转码,会自动转为对应的汉字,但是编码集在设置的时候切换过与当前配置的编码集不同会出现乱码的情况,比如utf-8和gkb定义汉字位数不同,所以通过--raw参数自动转码就会不同。
- 点赞
- 收藏
- 关注作者
评论(0)