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. 参考资料

相关推荐
苦夏木禾14 分钟前
js请求避免缓存的三种方式
开发语言·javascript·缓存
重庆小透明19 分钟前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
Edingbrugh.南空1 小时前
Flink SQLServer CDC 环境配置与验证
数据库·sqlserver·flink
码不停蹄的玄黓1 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
爱上语文2 小时前
Redis基础(6):SpringDataRedis
数据库·redis·后端
Java初学者小白2 小时前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存
奈斯ing2 小时前
【Redis篇】数据库架构演进中Redis缓存的技术必然性—高并发场景下穿透、击穿、雪崩的体系化解决方案
运维·redis·缓存·数据库架构
一眼万年043 小时前
Redis Cluster模式
redis·微服务
丶意冷3 小时前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
deriva5 小时前
.netcore+ef+redis+rabbitmq+dotcap先同步后异步再同步的方法,亲测有效
redis·rabbitmq·.netcore