Redis 字符串(String)详解

1. 什么是字符串类型

在 Redis 中,字符串(String) 是最基本的数据类型。它可以包含任何数据,比如文本、JSON、甚至二进制数据(如图片的 Base64 编码),最大长度为 512 MB

字符串在 Redis 中不仅可用作简单的 key-value 存储,还可用于计数器、自增ID、缓存临时数据等多种应用场景。


2. 字符串的使用方式

最常见的用法是直接设置和获取:

|-----|---------------------------------------------------|
| 1 2 | SET user:1001:name "Alice" GET user:1001:name |

还可以将字符串作为数值使用:

|-----|---------------------------------------------------------------------|
| 1 2 | INCR views:article:123 ; 自增文章浏览次数 DECR stock:product:456 ; 自减库存 |


3. 字符串常用命令

命令 描述
SET key value 设置字符串值
GET key 获取字符串值
APPEND key value 向字符串末尾追加
INCR key / DECR key 整数递增/递减
INCRBYFLOAT key value 浮点数递增
GETRANGE key start end 获取子字符串
SETEX key seconds value 设置带过期时间的值
STRLEN key 获取字符串长度

4. 字符串的高级用法

  • 作为缓存使用
    配合过期时间(SETEXEXPIRE)实现自动失效机制。
  • 对象缓存
    将对象序列化为 JSON 存入字符串,再解析回来。
  • 分布式锁
    使用 SET resource_name unique_id NX PX 30000 实现互斥访问。

5. 使用注意事项

  • 键和值的大小控制:避免存储超大 JSON 对象,可将字段分拆为多个键。
  • 数值操作前类型检查 :确保值确实是数字,防止 INCR 报错。
  • 非文本数据需处理编码:如存图片、音频等需先编码再写入。

6. 参考资料

相关推荐
薛定谔的算法4 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend5 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术6 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维11 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉11 小时前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
Seven9712 小时前
剑指offer-31、整数中1出现的次数
redis
RestCloud1 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud1 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化