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

相关推荐
南境十里·墨染春水6 小时前
讲讲libevent底层机制
数据库
LB21126 小时前
消灭并发重复调用:基于 Agent 调用 LLM 的分布式 Single-Flight 实战
java·开发语言·redis·分布式·agent
JAVA社区6 小时前
Java进阶全套教程(七)—— Redis超详细实战详解
java·linux·开发语言·redis·面试·职场和发展
念恒123066 小时前
MySQL表的约束(上)
数据库·mysql
x***r1516 小时前
heidisql数据库客户端使用步骤详解(附HeidiSQL连接MySQL与SQL执行教程)
数据库·sql·mysql
段一凡-华北理工大学6 小时前
2026 高炉炼铁智能化技术全景与演进路径~系列文章04:云-边-端协同架构:高炉智能化底层支撑体系
数据库·人工智能·深度学习·神经网络·安全·架构·高炉炼铁智能化
青山师7 小时前
B+树与InnoDB索引深度解析:数据库索引的底层原理与工程实践
数据结构·数据库·b树·性能优化·b+树·索引优化·mysql性能
小学鸡!7 小时前
IoTDB数据库导入导出数据
数据库·iotdb
尚雷55807 小时前
Oracle ASM 存储更换与整体迁移实战整理
数据库·oracle·ocr·asm