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 删除指定分数范围内的元素

常见应用场景

数据类型 典型场景
字符串 缓存、计数器、分布式锁
哈希 用户信息、对象存储
列表 消息队列、最新动态列表
集合 标签系统、共同好友、去重统计
有序集合 排行榜、热门列表、时间线排序
相关推荐
IT大白鼠5 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
lbb 小魔仙5 天前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
夕除5 天前
redis--018
redis
两锭子5 天前
Redis基础
redis
烟沙九洲5 天前
Redis 缓存穿透、缓存击穿、缓存雪崩
数据库·redis
字节探索5 天前
Redis 只会当缓存用?这 10 大实战场景,让你的系统快到飞起
redis·后端
于樱花森上飞舞5 天前
【Redis】哨兵详解
java·开发语言·数据库·redis
Rain的Java大神之路6 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog6 天前
Java 接入Redis: 通用命令与键管理
java·服务器·redis