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. 字符串的高级用法
- 作为缓存使用 :
配合过期时间(SETEX
、EXPIRE
)实现自动失效机制。 - 对象缓存 :
将对象序列化为 JSON 存入字符串,再解析回来。 - 分布式锁 :
使用SET resource_name unique_id NX PX 30000
实现互斥访问。
5. 使用注意事项
- 键和值的大小控制:避免存储超大 JSON 对象,可将字段分拆为多个键。
- 数值操作前类型检查 :确保值确实是数字,防止
INCR
报错。 - 非文本数据需处理编码:如存图片、音频等需先编码再写入。