常用运维命令
在日常的 Redis 运维中,管理员常常需要执行一些基本的管理、监控、故障排查和优化操作。以下是一些常用的 Redis 运维命令,这些命令可以帮助您更好地管理 Redis 实例。
1. Redis 状态查看命令
1.1 INFO
INFO 命令用于获取 Redis 实例的详细统计信息,包括内存使用、客户端连接、持久化状态等。是运维过程中非常重要的监控工具。
INFO
`
常见的 INFO 子命令包括:
- INFO memory:查看内存使用情况。
- INFO stats:查看 Redis 的统计信息。
- INFO persistence:查看持久化状态。
- INFO replication:查看主从复制状态。
- INFO clients:查看客户端连接状态。
INFO memory
1.2 MONITOR
MONITOR 命令可以实时查看 Redis 执行的所有命令,适用于调试和查看命令执行过程。
MONITOR
注意:MONITOR 命令会返回大量信息,通常只在调试时使用,且对性能有一定影响。
1.3 CLIENT LIST
CLIENT LIST 命令可以查看当前与 Redis 实例连接的所有客户端信息,包括客户端的 IP 地址、连接状态、订阅的频道等。
CLIENT LIST
输出示例:
id=7 addr=127.0.0.1:6379 fd=7 name= age=11 idle=11 flags=N db=0 sub=0 psub=0 multi=0 qbuf=35 qbuf-free=32705 obl=0 oll=0 omem=0 events=0 cmd=client
1.4 CONFIG GET 和 CONFIG SET
CONFIG GET 用于查看 Redis 配置参数,而 CONFIG SET 用于动态修改 Redis 配置(不需要重启)。
CONFIG GET maxmemory
CONFIG SET maxmemory 2gb
1.5 PING
PING 命令用于测试与 Redis 服务器的连接是否正常。Redis 会返回 PONG 表示连接正常。
PING
返回:
PONG
2. 数据管理命令
2.1 KEYS
KEYS 命令用于查找 Redis 中符合某个模式的键。注意,KEYS 命令在大规模数据中执行会对性能产生影响,避免在生产环境频繁使用。
KEYS *
2.2 DEL
DEL 命令用于删除指定的一个或多个键。
DEL key1 key2 key3
2.3 EXPIRE 和 TTL
EXPIRE 命令用于为指定键设置过期时间,而 TTL 命令则用于查看键的剩余生存时间。
EXPIRE key 60 # 设置键 key 的过期时间为 60 秒
TTL key # 查询键 key 剩余的过期时间
2.4 FLUSHDB 和 FLUSHALL
FLUSHDB:删除当前数据库中的所有键。FLUSHALL:删除所有数据库中的所有键。
FLUSHDB
FLUSHALL
2.5 SAVE 和 BGSAVE
SAVE 命令会同步保存 Redis 数据到磁盘,会阻塞当前线程;而 BGSAVE 会在后台异步执行保存操作,不会阻塞客户端请求。
SAVE
BGSAVE
2.6 DUMP 和 RESTORE
DUMP:序列化键值对的值,返回一个可存储在磁盘上的二进制序列。RESTORE:将DUMP命令返回的二进制数据恢复为一个键。
DUMP key
RESTORE key 0 value # 0 表示过期时间为 0,value 是通过 DUMP 返回的二进制数据
3. 主从复制与高可用命令
3.1 SLAVEOF
SLAVEOF 命令用于将一个 Redis 实例设置为另一个 Redis 实例的从节点。
SLAVEOF 127.0.0.1 6379
使用 SLAVEOF NO ONE 来取消主从复制关系。
SLAVEOF NO ONE
3.2 REPLICAOF
REPLICAOF 是 SLAVEOF 的替代命令,功能相同,用于设置从节点。
REPLICAOF 127.0.0.1 6379
3.3 SYNC 和 PSYNC
SYNC 命令会在主从复制时同步数据,PSYNC 是 SYNC 的更高效版本,用于增量同步数据。
SYNC
4. 故障排查命令
4.1 SLOWLOG
SLOWLOG 命令用于查看 Redis 的慢查询日志,可以帮助你识别执行时间较长的命令,进行性能优化。
SLOWLOG GET 10 # 查看最近的 10 个慢查询日志
4.2 LATENCY
LATENCY 命令用于查看 Redis 的延迟问题,帮助排查性能瓶颈。
LATENCY DOCTOR # 查看 Redis 的延迟情况并给出诊断建议
4.3 MONITOR
MONITOR 命令可以实时查看 Redis 的所有命令执行情况,适用于调试和监控。
MONITOR
4.4 DEBUG OBJECT
DEBUG OBJECT 用于查看 Redis 内部对象的详细信息,帮助排查内存问题。
DEBUG OBJECT key
5. 备份与恢复命令
5.1 SAVE 和 BGSAVE
如前所述,SAVE 会同步保存数据,BGSAVE 则是异步保存。
5.2 RESTORE
RESTORE 命令用于将备份的数据恢复到 Redis 中。
RESTORE key 0 value
5.3 BGREWRITEAOF
BGREWRITEAOF 命令用于重写 AOF 文件,优化 AOF 文件的大小。这个操作是异步的,不会阻塞客户端。
BGREWRITEAOF
6. 性能优化命令
6.1 CONFIG SET
CONFIG SET 命令用于修改 Redis 配置参数。它可以在不重启 Redis 的情况下调整一些重要参数。
CONFIG SET maxmemory 2gb # 设置最大内存为 2GB
6.2 BGSAVE
BGSAVE 是一个异步操作,用于将数据集持久化到磁盘。在高并发场景下,BGSAVE 可以避免阻塞 Redis 服务。
BGSAVE
6.3 PERSIST
PERSIST 命令用于移除键的过期时间,使键永不过期。对于需要长期存储的键,可以使用该命令。
PERSIST key
总结
这些常用的 Redis 运维命令是日常管理、监控、优化 Redis 实例的基础。通过掌握这些命令,您可以更加高效地管理 Redis,提高系统的稳定性和性能。在实际应用中,根据业务需求灵活调整 Redis 配置,及时排查和解决性能瓶颈,确保 Redis 实例的高效运行。
相关内容
- Redis 是什么 Redis 是一个高性能的开源内存数据库,支持丰富的数据结构和多种操作命令。它广泛应用于缓存、消息队列和实时分析,具备持久化与高可用集群能力,提升系统性能和可靠...
- 应用场景 Redis 在缓存加速、实时数据处理、消息队列和排行榜等多种场景中表现出色,帮助提升系统性能和响应速度,是现代互联网和分布式应用的重要技术选型。
- 安装与配置 本章详细介绍 Redis 在主流操作系统上的安装步骤,包括 Linux(Ubuntu、CentOS)、macOS 以及 Windows 平台的多种安装方式,并辅...
- 命令行工具 Redis 提供强大的命令行工具 redis-cli,用于连接和操作 Redis 服务器。通过命令行可执行数据读写、管理配置、监控性能等操作,是开发和运维的重要...
- SET / GET SET 和 GET 是 Redis 中最基础且常用的字符串操作命令,用于存储和获取键值对,支持丰富的参数和选项,满足各种缓存和数据存取需求。
- DEL / EXPIRE / TTL DEL、EXPIRE 和 TTL 是 Redis 中用于键的管理命令,分别用于删除键、设置键的过期时间以及查询键剩余存活时间,帮助实现数据的有效管理和生命周期控...