介绍
Redis是一个开源的内存密钥值数据库. 在Redis中,strings是您可以创建和管理的最基本的值类型。
如何使用此指南
这个指南是写成一个骗局的表,包含自含的示例,我们鼓励你跳到任何与你试图完成的任务相关的部分。
在本指南中显示的命令在运行 Redis 版本 6.0.1 版本的 Ubuntu 22.04 服务器上进行了测试。 要设置类似的环境,您可以遵循我们指南中的 Step 1 在 How To Install and Secure Redis on Ubuntu 22.04 上进行测试。 我们将通过使用 Redis 命令行接口的 redis-cli
来演示这些命令的行为。 如果您使用不同的 Redis 接口 - 例如 - 某些命令的准确输出可能会有所不同。
或者,您可以提供一个管理的 Redis 数据库实例来测试这些命令,但请注意,根据数据库提供商允许的控制级别,本指南中的一些命令可能无法按所述方式工作。 要提供 DigitalOcean 管理数据库,请遵循我们的 管理数据库产品文档。
创建和管理字符串
持有字符串的键只能持有一个值. 您不能在单个字符串中存储多个字符串. 然而,Redis中的字符串是二进制安全
,这意味着Redis字符串可以持有任何类型的数据,从字符串到JPEG图像。
例如,下面的设置
命令会创建一个名为key_Welcome1
的密钥,其中包含字符串Howdy
:
1set key_Welcome1 "Howdy"
1[secondary_label Output]
2OK
要在一个命令中设置多个字符串,请使用mset
:
1mset key_Welcome2 "there" key_Welcome3 "partners,"
您还可以使用附加
命令创建字符串:
1append key_Welcome4 "welcome to Texas"
如果字符串被成功创建,则附加
将输出相当于字符串包含多少个整数:
1[secondary_label Output]
2(integer) 16
请注意,附件
也可以用来更改字符串的内容。
回收 Strings
要获取一个字符串,请使用get
命令:
1get key_Welcome1
1[secondary_label Output]
2"Howdy"
若要使用一个命令获取多个字符串,请使用mget
:
1mget key_Welcome1 key_Welcome2 key_Welcome3 key_Welcome4
1[secondary_label Output]
21) "Howdy"
32) "there"
43) "partners,"
54) "welcome to Texas"
对于每一个没有字符串值或根本不存在的mget
键,命令将返回null
。
操纵线条
如果一个字符串由一个整数组成,则可以运行incr
命令以增加一个:
1set key_1 3
2incr key_1
1[secondary_label Output]
2(integer) 4
同样,您可以使用incrby
命令将数字字符串的值增加为特定增量:
1incrby key_1 16
1[secondary_label Output]
2(integer) 20
decr
和decrby
命令以相同的方式工作,但它们会减少存储在数字字符串中的整数:
1decr key_1
1[secondary_label Output]
2(integer) 19
1decrby key_1 16
1[secondary_label Output]
2(integer) 3
如果已经存在一个字母字符串,则附
会将值附加到现有值的末尾,并返回新长度的字符串。
1append key_Welcome4 ", y'all"
1[secondary_label Output]
2(integer) 23
您还可以将整数附加到持有数字值的字符串中。以下示例将45
附加到3
,即在key_1
中持有的整数,因此它将持有345
。
1append key_1 45
1[secondary_label Output]
2(integer) 3
由于这个密钥仍然只有一个数字值,你可以执行incr
和decr
操作,你也可以将字母字符附加到整数字符串,但如果你这样做,那么在字符串上运行incr
和decr
会产生错误,因为字符串值不再是整数。
结论
本指南详细介绍了一些用于创建和管理 Redis 中的字符串的命令. 如果在本指南中您想要了解的其他相关命令、论点或程序,请在评论中询问或提出建议。
有关 Redis 命令的更多信息,请参阅我们的教程系列 如何管理 Redis 数据库。