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

常见应用场景

数据类型 典型场景
字符串 缓存、计数器、分布式锁
哈希 用户信息、对象存储
列表 消息队列、最新动态列表
集合 标签系统、共同好友、去重统计
有序集合 排行榜、热门列表、时间线排序
相关推荐
今晚务必早点睡24 分钟前
Redis——快速入门第四课:Redis + Spring Boot 实战(从 0 到能用)
spring boot·redis·bootstrap
Knight_AL38 分钟前
Redis Lua 脚本为什么天然具备原子性?
数据库·redis·lua
wtrees_松阳1 小时前
分布式锁实战指南:Redis、ZooKeeper、etcd 三大方案深度对比与避坑指南(附代码)
redis·分布式·zookeeper
陌路201 小时前
redis五种数据类型
数据库·redis·缓存
北城以北88881 小时前
SpringBoot--Spring Boot原生缓存基于Redis的Cacheable注解使用
java·spring boot·redis·缓存·intellij-idea
摇滚侠12 小时前
Redis 零基础到进阶,Redis 哨兵监控,笔记63-73
数据库·redis·笔记
程序员卷卷狗12 小时前
Redis事务与MySQL事务有什么区别?一文分清
数据库·redis·mysql
挺6的还12 小时前
5.string类型
redis
Li_76953217 小时前
Redis —— (五)
java·redis·后端·spring
hgz071017 小时前
Redis高级特性与生产环境部署
redis