通过执行monitor命令,客户端可以将自己变为一个监视器,实时的接收并打印服务器当前处理的命令请求的相关信息,如下:
[root@localhost redis-3.2.0]# redis-cli -p 7000127.0.0.1:7000> monitorOK1464313122.735208 [0 127.0.0.1:46740] "SADD" "student" "1"1464313145.759172 [0 127.0.0.1:46740] "set" "student:1:name" "naonao"1464313173.040231 [0 127.0.0.1:46740] "set" "student:1:age" "3"
每当一个客户端向服务器发送一条命令请求时,服务器除了会处理这条命令请求之外,还会将关于这条命令请求的信息发送给所有监视器。
总结: * 客户端可以通过执行MONITOR命令,将客户端转换成监视器,接收并打印服务器处理的每个命令请求相关的信息。 * 当一个客户端从普通客户端变为监视器时,客户端的REDIS_MONITOR标识会被打开。 * 服务器将所有监视器都记录在monitors链表中。 * 每次处理命令请求时,服务器都会遍历monitors链表,将相关信息发送给监视器。 疑问: 监视器用在什么场景下??