1164 字
6 分钟
Redis常用命令

Redis常用命令#

Redis 是一个基于内存的高性能键值对(Key-Value)数据库。它的强大之处在于支持丰富的数据结构。为了方便理解,我们可以按照 Redis 的核心数据类型以及全局键操作来对常用命令进行分类讲解。


1. 全局 Key 操作命令#

这些命令适用于所有数据类型,主要用于管理键(Key)的生命周期和状态。

命令说明示例
KEYS查找所有符合给定模式的 Key(生产环境慎用,可能阻塞线程)。KEYS * (查找所有), KEYS user:*
EXISTS检查指定的 Key 是否存在(存在返回 1,否则返回 0)。EXISTS mykey
TYPE返回 Key 所存储的值的数据类型。TYPE mykey
DEL删除已存在的 Key。DEL mykey1 mykey2
EXPIRE为 Key 设置过期时间(单位:秒)。过期后会被自动删除。EXPIRE mykey 60 (60秒后过期)
TTL查看 Key 的剩余生存时间(单位:秒)。返回 -1 表示永久,-2 表示已过期。TTL mykey

2. String(字符串)常用命令#

String 是 Redis 最基本的数据类型,不仅可以存储字符串,还可以存储数字甚至是序列化后的对象(如 JSON)。

命令说明示例
SET设置指定 Key 的值。如果 Key 已存在则覆盖。SET name "Gemini"
GET获取指定 Key 的值。GET name
MSET批量设置一个或多个 Key-Value 对。MSET key1 "val1" key2 "val2"
MGET批量获取一个或多个 Key 的值。MGET key1 key2
SETNX只有在 Key 不存在时才设置它的值(常用于实现分布式锁)。SETNX lock "1"
INCR将 Key 中储存的数字值增一(原子操作)。INCR counter
DECR将 Key 中储存的数字值减一。DECR counter

3. Hash(哈希)常用命令#

Hash 是一个键值对集合,非常适合用来存储对象(例如存储一个用户的详细信息:姓名、年龄、邮箱等)。

命令说明示例
HSET将哈希表 Key 中的字段 field 的值设为 value。HSET user:1 name "Alice" age 25
HGET获取哈希表 Key 中给定字段 field 的值。HGET user:1 name
HGETALL获取哈希表 Key 中所有的字段和值。HGETALL user:1
HDEL删除哈希表 Key 中的一个或多个指定字段。HDEL user:1 age
HEXISTS查看哈希表 Key 中,指定的字段是否存在。HEXISTS user:1 name
HKEYS获取哈希表中的所有字段名(field)。HKEYS user:1

4. List(列表)常用命令#

List 简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。常用于消息队列或最新动态列表。

命令说明示例
LPUSH将一个或多个值插入到列表头部(左侧)。LPUSH mylist "world" "hello"
RPUSH将一个或多个值插入到列表尾部(右侧)。RPUSH mylist "!"
LPOP移出并获取列表的第一个元素(左侧)。LPOP mylist
RPOP移出并获取列表的最后一个元素(右侧)。RPOP mylist
LRANGE获取列表指定范围内的元素(0 表示第一个,-1 表示最后一个)。LRANGE mylist 0 -1 (获取全部)
LLEN获取列表长度。LLEN mylist

5. Set(集合)常用命令#

Set 是 String 类型的无序集合,集合成员是唯一的,不能出现重复的数据。常用于社交关系(如共同好友)、标签打标等。

命令说明示例
SADD向集合添加一个或多个成员(自动去重)。SADD tags "redis" "database"
SMEMBERS返回集合中的所有成员。SMEMBERS tags
SISMEMBER判断元素是否是集合的成员。SISMEMBER tags "redis"
SREM移除集合中一个或多个成员。SREM tags "database"
SCARD获取集合的成员总数。SCARD tags
SINTER返回给定所有集合的交集(如找共同好友)。SINTER set1 set2

6. Sorted Set / ZSet(有序集合)常用命令#

ZSet 和 Set 一样也是不可重复的集合,不同的是每个元素都会关联一个 double 类型的分数(Score)。Redis 通过分数来为集合中的成员进行从小到大的排序。常用于排行榜系统。

命令说明示例
ZADD向有序集合添加一个或多个成员,或者更新已存在成员的分数。ZADD leaderboard 100 "Alice" 90 "Bob"
ZRANGE通过索引区间返回有序集合成指定区间内的成员(按分数递增排)。ZRANGE leaderboard 0 -1 WITHSCORES
ZREVRANGE通过索引区间返回指定区间内的成员(按分数递减排)。ZREVRANGE leaderboard 0 2 (前三名)
ZSCORE返回有序集合中,成员的分数值。ZSCORE leaderboard "Alice"
ZREM移除有序集合中的一个或多个成员。ZREM leaderboard "Bob"
ZRANK返回有序集合中指定成员的排名(按分数从小到大排,0为第一)。ZRANK leaderboard "Alice"
Redis常用命令
http://www.shineacz.top/posts/redis常用命令/
作者
shineAcZ
发布于
2026-03-18
许可协议
CC BY 4.0