Redis值的五大数据类型——String类型

Redis值的五大数据类型——String类型,第1张

String类型

Redis的String类型是二进制安全的,意味着String类型可以包含任何数据。比如图片或者序列化的对象。Redis的String类型的底层是动态字符数组,是可以扩容,可以修改的字符串,类似于Java的ArrayList,采用分配冗余空间的方式来减少内存的频繁分配。

如图所示,字符串实际分配的空间capacity大于实际的占用的空间len。要注意Redis的String类型最大占用512M的空间。

常用命令

set:设置一个字符串

127.0.0.1:6379> set name "jack"
OK

get:获取一个字符串

127.0.0.1:6379> get name
"jack"

mset:设置多个字符串

127.0.0.1:6379> mset username "admin" password "admin"
OK
127.0.0.1:6379> get username
"admin"
127.0.0.1:6379> get password
"admin"

mget:获取多个字符串

127.0.0.1:6379> mget username password
1) "admin"
2) "admin"

setnx:键不存在时,设置字符串,键存在时 *** 作失败

127.0.0.1:6379> setnx age "20"
(integer) 1		# 键不存在, *** 作成功
127.0.0.1:6379> setnx age "30"
(integer) 0		# 键已存在, *** 作失败

setex:设置一个字符串,并设置过期时间

127.0.0.1:6379> setex code 60 "abcd" 		
OK				# 添加一个验证码的键值对,60秒过期

append:追加字符串

127.0.0.1:6379> append name "rose"
(integer) 8
127.0.0.1:6379> get name
"lucyrose"

strlen:获取字符串的长度

127.0.0.1:6379> get name
"lucyrose"
127.0.0.1:6379> strlen name
(integer) 8

下面的命令只能对数字字符串的 *** 作,不是数字字符串时 *** 作失败

incr:原子递增

127.0.0.1:6379> get age
"20"
127.0.0.1:6379> incr age
(integer) 21
127.0.0.1:6379> get age
"21"

decr:原子递减

127.0.0.1:6379> get age
"21"
127.0.0.1:6379> decr age
(integer) 20
127.0.0.1:6379> get age
"20"

incrby:原子递增指定步长

127.0.0.1:6379> get age
"20"
127.0.0.1:6379> incrby age 10
(integer) 30
127.0.0.1:6379> get age
"30"

decrby:原子递减指定步长

127.0.0.1:6379> get age
"30"
127.0.0.1:6379> decrby age 10
(integer) 20
127.0.0.1:6379> get age
"20"

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/874472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存