2.Redis中String数据类型的常见命令 一.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 --设置过期时间spsetex key milliseconds value--设置过期时间ms4.计数命令:(key不存在,默认为0)1)incr--针对value1 ,例: 已知: key10 -- incr key--key1101112)incrby--针对valuen3)decr--针对value-14)decrby--针对value-n注:value里只能为整数:如111,不能是abc这样的字符计数命令使用场景:统计某文章的点赞数5.append命令: 拼接字符串语法:append key value --返回追加字符串后的字符串长度6.getrange命令:获取字符串的子串里的内容,为[ ]前闭后闭语法:getrange key start end --返回子串内容例: keyhellogetrange key 0 -1 ---返回hello,负数表示倒数7.setrange命令:将字符串的子串替换语法:setrange keyoffsetvalue --返回字符串长度offset(偏移量):表示从第几个字符的下标开始替换例:key helloworldsetrange key 1aaa---keyhaaaoworld注:setrange针对不存在的key也可以操作,不过会把offset之前的内容填充成0x008.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)strlen3.String类型在redis 的内部编码方式1int ---64/8字节的整数2embstr ---压缩字符串,用于表示较短的字符串3raw ---普通字符串,用于表示更长的字符串4.String类型命令的应用场景1作缓存:2计数功能3共享会话(共享数据)4手机验证码