介绍
如何使用本指南
本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。
本指南中显示的命令已在运行Redis版本4.0.9的Ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何在Ubuntu 18.04上安装和保护Redis的步骤1进行操作。我们将通过使用Redis命令行界面运行它们来演示这些命令的行为。请注意,如果您使用其他Redis界面(例如Redli),则某些命令的确切输出可能会有所不同。 redis-cli
另外,您可以提供一个托管的Redis数据库实例来测试这些命令,但是请注意,根据数据库提供者所允许的控制级别,本指南中的某些命令可能无法按所述方式工作。要配置DigitalOcean托管数据库,请遵循我们的托管数据库产品文档。然后,您必须 安装Redli 或 设置TLS隧道才能通过TLS连接到托管数据库。
创建和管理字符串
包含字符串的键只能包含一个值。您不能在一个键中存储多个字符串。但是,Redis中的字符串是二进制安全的,这意味着Redis字符串可以保存任何类型的数据,从字母数字字符到JPEG图像。唯一的限制是字符串的长度必须小于或等于512 MB。
要创建一个字符串,请使用set
命令。例如,以下set
命令创建一个名为key的键key_Welcome1
,该键包含字符串"Howdy"
:
set key_Welcome1 "Howdy"
OK
要在一个命令中设置多个字符串,请使用mset
:
mset key_Welcome2 "there" key_Welcome3 "partners,"
您还可以使用以下append
命令创建字符串:
append key_Welcome4 "welcome to Texas"
如果成功创建了字符串,append
将输出一个整数,该整数等于该字符串包含的字符数:
16
注意,append
也可以用来更改字符串的内容。有关详细信息,请参见有关处理字符串的部分。
检索字符串
要检索字符串,请使用以下get
命令:
get key_Welcome1
Howdy
要使用一个命令检索多个字符串,请使用mget
:
mget key_Welcome1 key_Welcome2 key_Welcome3 key_Welcome4
1) "Howdy"
2) "there"
3) "partners,"
4) "welcome to Texas"
对于传递给mget
它的每个键都不包含字符串值或根本不存在,该命令将返回nil
。
操作字符串(Manipulating Strings)
如果字符串由整数组成,则可以运行incr
命令将其增加一:
set key_1 3
incr key_1
4
同样,您可以使用以下incrby
命令将数字字符串的值增加特定的增量:
incrby key_1 16
20
该decr
和decrby
命令的工作方式相同,但他们减少存储在数字字符串的整数:
decr key_1
19
decrby key_1 16
3
如果字母字符串已经存在,append
则将值附加到现有值的末尾,并返回字符串的新长度。为了说明这一点,以下命令将附加", y'all"
到key所保存的字符串上key_Welcome4
,因此现在该字符串将显示为"welcome to Texas, y'all"
:
append key_Welcome4 ", y'all"
15
您也可以将整数附加到包含数字值的字符串中。以下示例附加45
到3
,其中包含整数key_1
,因此它将保持345
。在这种情况下,append
还将返回字符串的新长度,而不是其新值:
append key_1 45
3
由于此键仍仅保留数字值,因此可以对其执行incr
和decr
操作。您也可以在整数字符串后附加字母字符,但是如果这样做,则在字符串上运行incr
和运行decr
将产生错误,因为字符串值不再是整数。
结论
本指南详细介绍了许多用于在Redis中创建和管理字符串的命令。如果您想在本指南中概述其他相关的命令,参数或过程,请在下面的评论中提出疑问或提出建议。
有关Redis命令的更多信息,请参阅关于如何管理Redis数据库的系列教程。
作者:分布式编程
出处:https://zthinker.com/