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

相关推荐
山楂树の5 分钟前
【计算机系统原理】 组相联 Cache 地址划分与访问过程
缓存
色空大师1 小时前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建
亚历克斯神1 小时前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
IAUTOMOBILE1 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
sghuter2 小时前
Ubuntu安装Redis
redis·ubuntu·bootstrap
常利兵2 小时前
Spring项目新姿势:Lambda封装Service调用,告别繁琐注入!
java·数据库·spring
liqianpin12 小时前
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
数据库·mysql
kgduu3 小时前
js之客户端存储
javascript·数据库·oracle
light blue bird3 小时前
原生控件GDI完成作业协同界面
jvm·数据库·.net·winform·gdi+界面
聊点儿技术3 小时前
利用IP归属地查询识别异地登录风险:企业账号安全的技术探索
数据库·tcp/ip·安全