Redis系列学习笔记17 服务器管理

服务器管理

命令与工具

检查连接是否正常

PING命令

使用客户端向 Redis 服务器发送一个 PING ,如果客户端与服务器之间的连接正常,并且服务器的运作也正常的话,那么命令将返回一个 PONG 。通常用于测试网络连接和服务器状态,或者用于测量延迟值。

redis> PING
PONG
redis> PING
Could not connect to Redis at 127.0.0.1:6379: Connection refused

查看服务器信息

INFO命令

INFO [section]

查看 Redis 服务器的各种信息和统计数值。通过给定可选的 section 参数,可以指定命令要返回的信息内容。

redis> INFO

SECTION 参数的值

展示的信息
all 所有服务器信息。
default(默认值) 默认被选中的,最常见也最重要的一些服务器信息。
server 服务器本身的信息,比如版本号、监听端口号、服务器 ID 等等。
clients 已连接客户端的信息,比如已连接客户端的数量、正在被阻塞的客户端数量等等。
memoery 内存信息,比如内存占用数量、使用的内存分配器等等。
persistence 和 RDB 持久化以及 AOF 持久化有关的信息,比如 RDB 持久化是否正在进行、AOF 文件重写是否正在进行等等。
stats 服务器的统计信息,比如已处理的命令请求数量、每秒钟处理的命令请求数量等等。
replication 和主从复制有关的信息,比如服务器的角色、主从服务器的连接状态是否正常等等。
cpu 服务器的系统 CPU 占用量和用户 CPU 占用量。
commandstats 命令执行的统计信息,比如命令执行的次数、命令耗费的 CPU 时间、执行每个命令耗费的平均 CPU 时间等等。
cluster 集群功能的相关信息。
keyspace 和数据库键空间有关的信息,比如数据库的键数量、数据库已经被删除的过期键数量等等。

查看服务器正在执行的命令

MONITOR 命令

MONITOR

实时地打印出 Redis 服务器接收到的命令,格式为“时间戳 [数据库号码 IP地址和端口号] 被执行的命令”。

redis> MONITOR

发现执行缓慢的命令

慢查询功能

Redis 的慢查询功能用于将执行时间超过指定时长的命令记录起来,并向用户展示那些被记录的命令,方便用户发现运行缓慢的命令,并进行针对性的优化。

慢查询功能可以通过以下两个配置选项来进行设置:

slowlog-log-slower-than [microseconds]

执行时长超过 microseconds 微秒的命令将被记录,将这个值设置为负数表示关闭慢查询功能。默认值为 10000 ,也即是 1/100 秒,因为 1 秒 = 1 百万微秒。

slowlog-max-len [length]

慢查询日志的最大数量,当记录的日志超过这个数量时,新日志会覆盖旧日志( FIFO)。默认值为 128 。

SLOWLOG GET [number]

返回服务器目前记录的慢查询日志。如果给定可选的 number 参数,那么只返回最多 number 条日志;否则的话,返回所有慢查询日志。

服务器的加锁与解锁

requirepass 选项和 AUTH 命令

通过配置选项 requirepass [password] ,用户可以为服务器设置密码。

当客户端连接一个带密码的服务器时,它必须执行 AUTH 命令来进行解锁,否则这个客户端就不能执行除 AUTH 以外的其他命令。

举个例子,如果我们在服务器启动时,用以下方式给服务器设置了密码:

$ redis-server --requirepass helloworld

关闭服务器

shutdown 命令

SHUTDOWN [option]

在不给定 option 参数的情况下,服务器会先执行持久化操作:

  • 如果打开了 AOF 持久化,那么调用 fdatasync ,确保之前执行的命令能够被写入到硬盘。
  • 如果打开了 RDB 持久化并且数据库已经发生了变化,那么执行 SAVE 命令。在以上操作都完成之后,服务器关闭。

在打开了持久化功能的情况下,使用 SHUTDOWN 命令关闭服务器不会丢失任何数据。

option 选项的值可以是 save 或者 nosave :

  • SHUTDOWN save 在关闭之前总是执行 SAVE 命令,用于在没有开启 RDB 持久化的情况下,创建一个 RDB 文件来保存数据;
  • SHUTDOWN nosave 在关闭之前不执行 SAVE 命令,用于在数据库可能已经出错的情况下,避免将错误的数据保存到 RDB 文件里面。

现成的 Redis 管理工具

RedisLive、Redis-Commander 和 RedMon

RedisLive

使用 Python 编写的 Redis 实时监视工具

安装方法和使用说明:

http://www.nkrode.com/article/real-time-dashboard-for-redis

Redis Commander

Node.js 编写的 Redis 管理工具

目前只支持添加字符串、列表、集合和有序集合,不支持添加散列和 HyperLogLog 。

安装和使用简介:

http://joeferner.github.io/redis-commander/

启动之后访问 http://localhost:8081/ 就可以看见界面。

Redmon

Ruby 编写的 Redis 管理工具

现有工具的缺点:

  • 不够强大
  • 不够稳定

目前还没有强大并且稳定的工具被开源出来。重度使用 Redis 的公司一般都会自己构建管理工具。

你可能感兴趣的:(Redis)