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 -->设置过期时间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`手机验证码

相关推荐
聆听。。花开雨落8 小时前
mybatis的typeHandler 作用
数据库·mybatis
pxzsky9 小时前
PG17数据库安装中分分词插件:pg_jieba
数据库·postgresql·pg_jieba
她说可以呀10 小时前
Redis哨兵
数据库·redis·bootstrap
落落Plus10 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
霸道流氓气质10 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur10 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
MonolithIoT11 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
瞬间&永恒~12 小时前
【MySQL】4-6:在同一个主机上使用 systemd 运行多个 MySQL服务器
服务器·数据库·mysql
心机之蛙qee12 小时前
Redis的主从、哨兵及集群
数据库·redis·缓存