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

相关推荐
清水白石0085 分钟前
Python 如何设计一个线程安全的缓存?从锁策略、LRU 到工程化实战
python·安全·缓存
math_hongfan23 分钟前
一对多的数据库姻缘:ArkTS 为鸿蒙订单设计外键与明细表
数据库·华为·harmonyos
城管不管27 分钟前
MySQL 慢查询完整排查
java·服务器·jvm·数据库·mysql·spring·面试
XLYcmy29 分钟前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割
树码小子32 分钟前
MySQL 的事务隔离级别(重点面试题)
数据库·mysql
01_ice37 分钟前
MySQL表的约束
数据库·sql·mysql
北漂燕郊杨哥1 小时前
Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展
数据库·redis·php
2603_9651481110 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl10 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
xfhuangfu11 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc