一.String类型
1.基本介绍:
redis中所有的key都是字符串String
而value 的类型是存在差异的,不同的数据类型的value则不同
2.常见命令:
1.set和get命令:设置和获取key
语法:set key value [EX | PX] [NX | XX]
get key 注:对于get只支持String类型的value,其他类型会报错
NX:1`若key存在,则不设置(返回nil)
2`若key不存在,才设置
XX:1`若key存在,才设置(更新)
2`若key不存在,则不设置
EX:过期时间(s)
PX:过期时间(ms)
2.mset和mget命令:操作多个key(可减少网络通信的开销)
语法:mset key value [key value...]
mget key [key...]
3.setnx,setex,psetex:一些特殊的set命令
语法:setnx key value -->若key不存在,才设置
setex key seconds value -->设置过期时间s
psetex key milliseconds value-->设置过期时间ms
4.计数命令:(key不存在,默认为0)
1)incr -->针对value+1 ,例: 已知: key=10 --> incr key-->key+1=10+1=11
2)incrby -->针对value+n
3)decr -->针对value-1
4)decrby -->针对value-n
注:value里只能为整数:如"111",不能是"abc"这样的字符
计数命令使用场景:统计某文章的点赞数
5.append命令: 拼接字符串
语法:append key value -->返回追加字符串后的字符串长度
6.getrange命令:获取字符串的子串里的内容,为[ ]前闭后闭
语法:getrange key start end -->返回子串内容
例: key="hello"
getrange key 0 -1 --->返回hello,负数表示倒数
7.setrange命令:将字符串的子串替换
语法:setrange key offset value -->返回字符串长度
offset(偏移量):表示从第几个字符的下标开始替换
例:key ="helloworld"
setrange key 1 aaa --->key="haaaoworld"
注:setrange针对不存在的key也可以操作,不过会把offset之前的内容填充成0x00
8.strlen命令:获取字符串的长度(单位:byte(字节))
语法:strlen key -->返回字符串长度
注:只对 String 类型 key 能用,不是 String 类型直接报错,和 get命令 规则一样.
9.String类型命令小结:
1)set和get 2)mset和mget 3)setnx,setex,psetex 4) 计数命令 5)append 6)getrange 7)setrange 8)strlen
3.String类型在redis 的内部编码方式
1`int --->64/8字节的整数
2`embstr --->压缩字符串,用于表示较短的字符串
3`raw --->普通字符串,用于表示更长的字符串
4.String类型命令的应用场景
1`作缓存:

2`计数功能

3`共享会话(共享数据)

4`手机验证码