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

常见应用场景

数据类型 典型场景
字符串 缓存、计数器、分布式锁
哈希 用户信息、对象存储
列表 消息队列、最新动态列表
集合 标签系统、共同好友、去重统计
有序集合 排行榜、热门列表、时间线排序
相关推荐
此生只爱蛋9 小时前
【Redis】主从复制
数据库·redis
惊讶的猫14 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
期待のcode14 小时前
Redis的主从复制与集群
运维·服务器·redis
jiunian_cn15 小时前
【Redis】渐进式遍历
数据库·redis·缓存
SoleMotive.15 小时前
谢飞机爆笑面经:Java大厂3轮12问真题拆解(Redis穿透/Kafka分区/MCP Agent)
redis·spring cloud·kafka·java面试·mcp
椰子今天很可爱16 小时前
Redis进阶
redis
jiunian_cn16 小时前
【Redis】数据库管理操作
数据库·redis·缓存
惊讶的猫16 小时前
Redis 哨兵(Sentinel)介绍
redis·redis哨兵
猫头虎17 小时前
基于信创openEuler系统安装部署OpenTeleDB开源数据库的实战教程
数据库·redis·sql·mysql·开源·nosql·database
静听山水17 小时前
Redis核心数据结构-ZSet
数据结构·redis