Redis 作为一款高性能的内存数据库,其命令丰富且功能强大,涵盖了数据操作、管理、配置等多个方面,以下是 Redis 常用命令的详细分类与说明,帮助用户快速掌握核心功能。

键(Key)相关命令
键是 Redis 中最基本的数据单元,常用命令包括:
SET key value
:设置键值对,若键已存在则覆盖。GET key
:获取键对应的值,若键不存在则返回 nil。DEL key [key ...]
:删除一个或多个键,返回删除的键数量。EXISTS key
:检查键是否存在,存在返回 1,否则返回 0。EXPIRE key seconds
:设置键的过期时间(秒),到期后键自动删除。TTL key
:返回键的剩余过期时间(秒),-1 表示永不过期,-2 表示键不存在。KEYS pattern
:匹配符合模式的键(如KEYS *
匹配所有键),生产环境慎用(阻塞服务器)。SCAN cursor [MATCH pattern] [COUNT count]
:增量式遍历键,避免阻塞。
字符串(String)命令
字符串是 Redis 最基础的数据结构,命令包括:
INCR key
:键值递增 1,若键不存在则初始化为 1。DECR key
:键值递减 1,若键不存在则初始化为 -1。INCRBY key increment
:按指定值递增。APPEND key value
:在字符串末尾追加值,返回新字符串长度。STRLEN key
:返回字符串长度。
哈希(Hash)命令
哈希是键值对集合,适合存储对象:
HSET key field value
:设置哈希表字段值。HGET key field
:获取字段值。HGETALL key
:获取哈希表所有字段和值。HDEL key field [field ...]
:删除一个或多个字段。HINCRBY key field increment
:字段值按指定值递增。HEXISTS key field
:检查字段是否存在。
列表(List)命令
列表是字符串集合,按插入顺序排序:

LPUSH key value [value ...]
:在左侧插入一个或多个值,返回列表长度。RPUSH key value [value ...]
:在右侧插入值。LPOP key
:移除并返回左侧第一个元素。RPOP key
:移除并返回右侧第一个元素。LRANGE key start stop
:获取列表指定范围元素(0 表示第一个,-1 表示最后一个)。LLEN key
:返回列表长度。
集合(Set)命令
集合是无序且不重复的字符串集合:
SADD key member [member ...]
:添加一个或多个成员,返回新增成员数。SMEMBERS key
:返回所有成员。SREM key member [member ...]
:删除一个或多个成员,返回删除成功数。SCARD key
:返回集合元素个数。SISMEMBER key member
:检查成员是否存在,存在返回 1,否则 0。SDIFF key [key ...]
:返回多个集合的差集。SUNION key [key ...]
:返回多个集合的并集。
有序集合(Sorted Set)命令
有序集合是带分数的成员集合,按分数排序:
ZADD key score member [score member ...]
:添加成员及分数,返回新增成员数。ZRANGE key start stop [WITHSCORES]
:返回指定范围成员(按分数升序),WITHSCORES
可显示分数。ZREVRANGE key start stop [WITHSCORES]
:按分数降序排列。ZSCORE key member
:返回成员分数。ZINCRBY key increment member
:成员分数按指定值递增。ZCARD key
:返回成员数量。
其他常用命令
FLUSHDB
:清空当前数据库。FLUSHALL
:清空所有数据库。SAVE
:同步保存数据到磁盘(阻塞)。BGSAVE
:异步保存数据到磁盘。INFO [section]
:返回服务器信息(如内存、客户端等)。
以下是部分命令的快速参考表格:
命令分类 | 命令示例 | 功能说明 |
---|---|---|
键操作 | SET key value |
设置键值对 |
字符串 | INCR key |
键值递增 1 |
哈希 | HGETALL key |
获取哈希表所有字段和值 |
列表 | LRANGE key 0 -1 |
获取列表所有元素 |
集合 | SADD key member |
添加成员到集合 |
有序集合 | ZRANGE key 0 10 |
获取分数最低的前 11 个成员 |
相关问答 FAQs
Q1:Redis 如何批量删除符合某个模式的键?
A1:可以使用 KEYS
命令匹配键,再结合 DEL
批量删除,DEL $(KEYS pattern)
,但 KEYS
会阻塞服务器,生产环境推荐使用 SCAN
命令增量遍历,例如通过脚本循环调用 SCAN
并删除匹配键。

Q2:Redis 的过期键是如何被清理的?
A2:Redis 通过两种方式清理过期键:1)惰性删除:当访问键时检查是否过期,若过期则删除;2)定期删除:后台线程定期随机抽样部分键,删除其中过期的键,这两种方式结合,既避免了内存浪费,又减少了阻塞。