# 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),这意味着它们非常高效。但是,请小心使用 SUBSTRGETRANGESETRANGE 命令,它们可能是 O(n)。这些随机访问字符串命令在处理大字符串时可能会导致性能问题。

# 备择方案

如果您将结构化数据存储为序列化字符串,您可能还需要考虑 Redis 哈希RedisJSON

# 学到更多

  • Redis Strings Explained 是关于 Redis 字符串的简短、全面的视频解释器。
  • Redis University 的 RU101 详细介绍了 Redis 字符串。
Last Updated: 4/18/2023, 8:45:33 AM