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

相关推荐
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠4 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴4 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren5 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安5 天前
MySQL-触发器
数据库·mysql