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`手机验证码

相关推荐
虎虎(_ _)。゜zzZ17 分钟前
Qdrant向量数据库工程实战
数据库·人工智能·大模型·向量数据库·rag·qdrant
ZGG00342 分钟前
线程池详解:从 7 大参数到生产避坑
java·数据库·后端
龙亘川44 分钟前
数智赋能退役军人服务:V1.0 系统搭建全生命周期闭环服务体系
大数据·数据库·人工智能
zhangguojia71 小时前
权限弹窗点击允许的授权流程
运维·服务器·数据库
jnrjian1 小时前
Postgres 序列(sequence)的权限
数据库·postgresql
风禾万里1 小时前
【无标题】
数据库
镜舟科技1 小时前
为什么 Text-to-SQL 总是停在 Demo?
数据库·sql·demo·text-to-sql·镜舟科技·mip·语义视图
人生苦短1282 小时前
Oracle RAC 日常管理+排错命令大全
数据库·oracle
镜舟科技2 小时前
从 DBA 经验到 Agent:镜舟如何构建生产级智能排障体系
数据库·agent·dba·skill·devops agent·mirrorship
瀚高PG实验室2 小时前
HAC 集群主节点状态在starting、running之间频繁切换
运维·数据库·postgresql·瀚高数据库