Redis常用命令总结

Redis 数据类型与操作命令总结

通用命令(适用于所有类型)

命令 说明
DEL key 删除指定键
EXISTS key 检查键是否存在(返回 1/0)
TYPE key 返回键对应值的数据类型
RENAME key new_key 重命名键
EXPIRE key seconds 为键设置过期时间(秒)
TTL key 获取键的剩余过期时间(-1 永不过期,-2 已过期)
KEYS pattern 查找符合模式的键(如 KEYS user*

一、字符串(String)

字符串是 Redis 最基础的数据类型,可存储文本、数字等,最大长度 512MB。

操作 命令示例 说明
增加 SET key value [EX seconds] 设置键值,可选过期时间(EX 秒,PX 毫秒)
增加 MSET key1 val1 key2 val2 ... 批量设置键值
读取 GET key 获取键对应的值
读取 MGET key1 key2 ... 批量获取多个键的值
修改 SET key new_value 直接覆盖原 value 完成修改
修改 INCR key 对数值型 value 自增 1(若为字符串会尝试转换)
修改 DECR key 对数值型 value 自减 1
删除 DEL key 删除指定键(通用命令,适用于所有类型)

二、哈希(Hash)

哈希用于存储键值对集合(类似 JSON 对象),适合存储对象类数据(如用户信息)。

操作 命令示例 说明
增加 HSET hash_key field value 为哈希表设置字段和值
增加 HMSET hash_key f1 v1 f2 v2 ... 批量设置哈希表的多个字段值
读取 HGET hash_key field 获取哈希表中指定字段的值
读取 HMGET hash_key f1 f2 ... 批量获取哈希表的多个字段值
读取 HGETALL hash_key 获取哈希表中所有字段和值
修改 HSET hash_key field new_value 覆盖原字段值完成修改
修改 HINCRBY hash_key field num 对字段的数值型 value 增减指定数值
删除 HDEL hash_key field1 field2 ... 删除哈希表中指定的字段
删除 DEL hash_key 删除整个哈希表

三、列表(List)

列表是有序的字符串集合(可重复),底层为双向链表,支持两端操作。

操作 命令示例 说明
增加 LPUSH list_key value1 value2 ... 从列表左侧插入一个或多个值
增加 RPUSH list_key value1 value2 ... 从列表右侧插入一个或多个值
读取 LRANGE list_key start end 获取列表中指定范围的元素(0 为头,-1 为尾)
读取 LPOP list_key 移除并返回列表左侧第一个元素
读取 RPOP list_key 移除并返回列表右侧第一个元素
读取 LLEN list_key 获取列表长度
修改 LSET list_key index new_value 修改列表中指定索引位置的元素(索引从 0 开始)
删除 LREM list_key count value 从列表中删除 count 个值为 value 的元素(count>0 从左,<0 从右)
删除 DEL list_key 删除整个列表

四、集合(Set)

集合是无序的字符串集合(不可重复),支持交集、并集等集合运算。

操作 命令示例 说明
增加 SADD set_key member1 member2 ... 向集合中添加一个或多个元素
读取 SMEMBERS set_key 获取集合中所有元素(无序)
读取 SCARD set_key 获取集合中元素的数量
读取 SISMEMBER set_key member 判断元素是否在集合中(返回 1/0)
修改 无直接修改命令,需先删后加 SREM set_key old && SADD set_key new
删除 SREM set_key member1 member2 ... 从集合中删除指定元素
删除 SPOP set_key [count] 随机删除并返回集合中的 count 个元素(默认 1 个)

五、有序集合(Sorted Set)

有序集合是带分数(score)的字符串集合,按分数排序,元素不可重复。

操作 命令示例 说明
增加 ZADD zset_key score1 member1 ... 向有序集合中添加元素和分数
读取 ZRANGE zset_key start end [WITHSCORES] 按分数升序获取指定范围的元素(带分数可选)
读取 ZREVRANGE zset_key start end [WITHSCORES] 按分数降序获取指定范围的元素(带分数可选)
读取 ZRANGEBYSCORE zset_key min max [WITHSCORES] 按分数范围获取元素(min/max 支持 -inf/+inf)
修改 ZADD zset_key new_score member 通过更新分数修改元素顺序
删除 ZREM zset_key member1 member2 ... 从有序集合中删除指定元素
删除 ZREMRANGEBYSCORE zset_key min max 删除指定分数范围内的元素

常见应用场景

数据类型 典型场景
字符串 缓存、计数器、分布式锁
哈希 用户信息、对象存储
列表 消息队列、最新动态列表
集合 标签系统、共同好友、去重统计
有序集合 排行榜、热门列表、时间线排序
相关推荐
驾驭人生19 小时前
Hangfire.Redis.StackExchange 已归档停更!生产任务卡死、重复执行、网络抖动问题解决方案
数据库·redis·缓存
吃饱了得干活1 天前
Redis 不是死脑筋,它是一套“会进化”的存储系统
redis·后端
盟道科技1 天前
小程序电商订单超时自动取消的三种实现方案:定时扫描、Redis 过期监听、延迟消息对比与生产落地
数据库·redis·小程序
夕除1 天前
redis--011
redis
努力努力再努力wz1 天前
【Redis入门系列】:从 RESP 协议到 redis-plus-plus:Redis 客户端编程与 C++ 接口设计
开发语言·数据库·c++·redis·分布式·缓存·架构
JavaPub-rodert2 天前
Redis 和 MySQL 如何保证数据一致性?从业务方案到底层原理完整讲解
数据库·redis·mysql
程序员阿明2 天前
spring boot4+springAI 2加redis多轮对话存储
spring boot·redis·后端
莫得感情 o3 天前
Redis 05 · 持久化:RDB 与 AOF 怎么保证数据不丢
redis·缓存
curd_boy3 天前
【Redis】Redis从缓存到AI向量平台
人工智能·redis·缓存
莫得感情 o3 天前
Redis 02 · 数据结构:String 到 Stream 怎么选
redis