Skip to content

Redis - 服务器

Redis 服务器命令用于管理、监控和配置 Redis 实例本身。它们是管理员和开发人员确保服务器健康、性能和稳定性的重要工具。

INFO 命令提供服务器状态的全面报告。您可以请求所有信息或指定一个部分(例如,INFO memory、INFO clients)。以下是来自现代 Redis 7.x 服务器的示例输出。

127.0.0.1:6379> INFO
# Server
redis_version:7.0.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:e753424d9c44569e
redis_mode:standalone
os:Linux 5.15.0-52-generic x86_64
arch_bits:64
...
# Clients
connected_clients:1
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0
...
# Memory
used_memory:996568
used_memory_human:973.21K
used_memory_rss:4087808
used_memory_rss_human:3.90M
...
# Persistence
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1668541334
...
aof_enabled:1
aof_rewrite_in_progress:0
...
# Replication
role:master
connected_slaves:0
...
# Keyspace
db0:keys=10,expires=2,avg_ttl=3599988

下表列出了按功能分组的关键服务器命令。

命令描述
INFO [部分]提供关于服务器的详细信息和统计数据。
CONFIG GET <参数>获取配置参数的值(例如,CONFIG GET port)。
CONFIG SET <参数> <值>无需重启服务器即可动态设置配置参数。
TIME以 UNIX 时间戳和微秒返回当前服务器时间。
SHUTDOWN [NOSAVE|SAVE]关闭服务器。可以选择阻止或强制执行最终的磁盘保存。
命令描述
FLUSHDB从当前选定的数据库中删除所有键。请谨慎使用。
FLUSHALL从所有数据库中删除所有键。极具破坏性;请极其谨慎使用。
DBSIZE返回所选数据库中的键的总数。
命令描述
REPLICAOF <主机> <端口>使服务器成为另一个实例的副本。这是 SLAVEOF 命令的现代替代品。
REPLICAOF no one将副本提升为主服务器。
ROLE返回实例的角色(主实例、副本实例或 Sentinel)和复制状态。
SLAVEOF <主机> <端口>**自 Redis 5 起已弃用。**请改用 REPLICAOF。
命令描述
MONITOR实时流式传输服务器处理的所有命令。非常适合调试。
SLOWLOG GET [数量]显示 Redis 慢查询日志,有助于识别性能瓶颈。
CLIENT LIST获取到服务器的客户端连接列表。
LASTSAVE返回上次成功进行 RDB 保存的 UNIX 时间戳。

虽然这些命令有助于管理单个 Redis 服务器,但现代应用程序通常需要高可用性和横向扩展。为此,Redis 提供了高级解决方案:

• Redis Sentinel: 一个独立的系统,为 Redis 提供高可用性。它监控主实例和副本实例,并在主实例不可用时自动执行故障转移。 • Redis Cluster: 提供了一种运行 Redis 安装的方式,数据会自动分片到多个节点。这允许数据存储和吞吐量的横向扩展。