# Redis Strings
Redis Strings简介
Redis Strings存储字节序列,包括文本、序列化对象和二进制数组。因此,字符串是最基本的 Redis 数据类型。它们通常用于缓存,但它们支持额外的功能,让您也可以实现计数器并执行按位操作。
# 例子
- 在 Redis 中存储然后检索字符串:
> SET user:1 salvatore
OK
> GET user:1
"salvatore"
- 存储一个序列化的 JSON 字符串并将其设置为从现在起 100 秒后过期:
> SET ticket:27 "\"{'username': 'priya', 'ticket_id': 321}\"" EX 100
- 增加一个计数器:
> INCR views:page:2
(integer) 1
> INCRBY views:page:2 10
(integer) 11
# 限制
默认情况下,单个 Redis 字符串最大为 512 MB。
# 基本命令
# 获取和设置字符串
SET
存储一个字符串值。SETNX
仅当键不存在时才存储字符串值。用于实现锁。GET
检索字符串值。MGET
在单个操作中检索多个字符串值。
# 管理计数器
INCRBY
以原子方式递增(并在传递负数时递减)存储在给定键处的计数器。- 浮点计数器存在另一个命令:
INCRBYFLOAT
。
# 位运算
要对字符串执行按位运算,请参阅 位图数据类型
文档。
请参阅 字符串命令的完整列表
。
# 表现
大多数字符串操作都是 O(1),这意味着它们非常高效。但是,请小心使用 SUBSTR
、 GETRANGE
和 SETRANGE
命令,它们可能是 O(n)。这些随机访问字符串命令在处理大字符串时可能会导致性能问题。
# 备择方案
如果您将结构化数据存储为序列化字符串,您可能还需要考虑 Redis 哈希
或 RedisJSON
。
# 学到更多
Redis Strings Explained
是关于 Redis 字符串的简短、全面的视频解释器。Redis University 的 RU101
详细介绍了 Redis 字符串。