Redis 作为一款高性能的内存数据库,其强大的功能离不开丰富多样的命令集,Redis 命令集涵盖了数据操作、服务器管理、持久化等多个方面,通过简洁的命令语法,实现对数据的快速存取和管理,本文将详细介绍 Redis 的核心命令分类及其功能,帮助用户全面掌握 Redis 的操作方式。

Redis 命令集主要分为五大类:键值操作、数据结构操作、服务器管理、持久化配置和事务与脚本,在键值操作方面,SET
和 GET
是最基础的命令,分别用于设置和获取键值对,SET name "Alice"
会将键 name
的值设置为 Alice
,而 GET name
则返回该值。DEL
命令用于删除指定键,EXISTS
用于检查键是否存在,TTL
和 EXPIRE
则分别用于查看和设置键的生存时间,这些命令是 Redis 数据管理的基础。
数据结构操作是 Redis 的核心优势,支持字符串、哈希、列表、集合和有序集合等多种类型,字符串类型除了 SET
和 GET
,还支持 INCR
(递增)、DECR
(递减)等数值操作,INCR visits
可将键 visits
的值加 1,哈希类型通过 HSET
和 HGET
操作字段,HSET user "age" 25
设置用户年龄,HGET user "age"
获取该值,列表类型使用 LPUSH
和 RPUSH
在头部或尾部添加元素,LPOP
和 RPOP
移除元素,适合实现队列或栈结构,集合类型通过 SADD
添加元素,SREM
删除元素,SINTER
计算交集,适合去重和关系运算,有序集合在集合基础上增加了分数,通过 ZADD
添加带分数的元素,ZRANGE
按分数范围获取元素,常用于排行榜场景。
服务器管理命令用于监控和配置 Redis 实例。INFO
命令返回服务器的详细信息,包括内存使用、连接数等;CONFIG GET
和 CONFIG SET
用于查看和运行时修改配置参数;CLIENT LIST
显示所有客户端连接信息;SHUTDOWN
安全关闭服务器,这些命令帮助管理员实时掌握服务器状态并进行维护。
持久化配置方面,Redis 提供 RDB 和 AOF 两种持久化方式。SAVE
手动触发 RDB 快照,将数据保存到磁盘;BGSAVE
在后台异步执行快照;AOF rewrite
重写 AOF 文件以减少体积,通过 CONFIG SET
可以启用或禁用持久化功能,确保数据安全。

事务与脚本命令支持批量操作和复杂逻辑。MULTI
开启事务,EXEC
执行事务中的命令,DISCARD
取消事务,确保命令原子性。EVAL
执行 Lua 脚本,实现跨多个键的复杂操作,EVAL "return redis.call('get', KEYS[1])" 1 mykey
获取指定键的值。
以下通过表格总结部分常用命令:
命令分类 | 常用命令 | 功能描述 |
---|---|---|
键值操作 | SET/GET | 设置/获取键值 |
DEL | 删除键 | |
TTL/EXPIRE | 查看/设置键的生存时间 | |
字符串操作 | INCR/DECR | 递增/递减数值 |
哈希操作 | HSET/HGET | 设置/获取哈希字段 |
列表操作 | LPUSH/RPUSH | 头部/尾部添加元素 |
集合操作 | SADD/SREM | 添加/删除集合元素 |
有序集合 | ZADD/ZRANGE | 添加带分数元素/按范围获取 |
服务器管理 | INFO | 返回服务器信息 |
事务操作 | MULTI/EXEC | 开启/执行事务 |
相关问答 FAQs:
-
问:Redis 中的键过期后,数据会立即被删除吗?
答:不会,键过期后,Redis 不会立即删除数据,而是在满足条件时(如访问键、定时检查)由后台线程惰性删除或定期删除,这种方式被称为“惰性删除”和“定期删除”,平衡了性能与内存使用。(图片来源网络,侵删) -
问:如何确保 Redis 事务中的命令全部执行或全部不执行?
答:Redis 事务通过MULTI
开始,之后输入的命令会被放入队列,直到EXEC
执行,如果在EXEC
前出现语法错误,命令不会入队;如果在执行时出现运行时错误(如类型不匹配),已执行的命令不会回滚,后续命令仍会执行,因此需在脚本或应用层处理逻辑。