Redis - 服务器
Redis - 服务器管理
Section titled “Redis - 服务器管理”Redis 服务器命令用于管理、监控和配置 Redis 实例本身。它们是管理员和开发人员确保服务器健康、性能和稳定性的重要工具。
使用 INFO 命令进行监控
Section titled “使用 INFO 命令进行监控”INFO 命令提供服务器状态的全面报告。您可以请求所有信息或指定一个部分(例如,INFO memory、INFO clients)。以下是来自现代 Redis 7.x 服务器的示例输出。
127.0.0.1:6379> INFO# Serverredis_version:7.0.5redis_git_sha1:00000000redis_git_dirty:0redis_build_id:e753424d9c44569eredis_mode:standaloneos:Linux 5.15.0-52-generic x86_64arch_bits:64...# Clientsconnected_clients:1client_recent_max_input_buffer:2client_recent_max_output_buffer:0blocked_clients:0...# Memoryused_memory:996568used_memory_human:973.21Kused_memory_rss:4087808used_memory_rss_human:3.90M...# Persistencerdb_changes_since_last_save:0rdb_bgsave_in_progress:0rdb_last_save_time:1668541334...aof_enabled:1aof_rewrite_in_progress:0...# Replicationrole:masterconnected_slaves:0...# Keyspacedb0:keys=10,expires=2,avg_ttl=3599988重要服务器命令
Section titled “重要服务器命令”下表列出了按功能分组的关键服务器命令。
| 命令 | 描述 |
|---|---|
| INFO [部分] | 提供关于服务器的详细信息和统计数据。 |
| CONFIG GET <参数> | 获取配置参数的值(例如,CONFIG GET port)。 |
| CONFIG SET <参数> <值> | 无需重启服务器即可动态设置配置参数。 |
| TIME | 以 UNIX 时间戳和微秒返回当前服务器时间。 |
| SHUTDOWN [NOSAVE|SAVE] | 关闭服务器。可以选择阻止或强制执行最终的磁盘保存。 |
数据库与键管理
Section titled “数据库与键管理”| 命令 | 描述 |
|---|---|
| FLUSHDB | 从当前选定的数据库中删除所有键。请谨慎使用。 |
| FLUSHALL | 从所有数据库中删除所有键。极具破坏性;请极其谨慎使用。 |
| DBSIZE | 返回所选数据库中的键的总数。 |
| 命令 | 描述 |
|---|---|
| REPLICAOF <主机> <端口> | 使服务器成为另一个实例的副本。这是 SLAVEOF 命令的现代替代品。 |
| REPLICAOF no one | 将副本提升为主服务器。 |
| ROLE | 返回实例的角色(主实例、副本实例或 Sentinel)和复制状态。 |
| SLAVEOF <主机> <端口> | **自 Redis 5 起已弃用。**请改用 REPLICAOF。 |
| 命令 | 描述 |
|---|---|
| MONITOR | 实时流式传输服务器处理的所有命令。非常适合调试。 |
| SLOWLOG GET [数量] | 显示 Redis 慢查询日志,有助于识别性能瓶颈。 |
| CLIENT LIST | 获取到服务器的客户端连接列表。 |
| LASTSAVE | 返回上次成功进行 RDB 保存的 UNIX 时间戳。 |
超越单服务器:现代架构
Section titled “超越单服务器:现代架构”虽然这些命令有助于管理单个 Redis 服务器,但现代应用程序通常需要高可用性和横向扩展。为此,Redis 提供了高级解决方案:
• Redis Sentinel: 一个独立的系统,为 Redis 提供高可用性。它监控主实例和副本实例,并在主实例不可用时自动执行故障转移。 • Redis Cluster: 提供了一种运行 Redis 安装的方式,数据会自动分片到多个节点。这允许数据存储和吞吐量的横向扩展。