《Redis设计与实现》读书笔记(三十七) ——Redis 慢查询日志实现

《Redis设计与实现》读书笔记(三十七) ——Redis 慢查询日志实现

(原创内容,转载请注明来源,谢谢)

一、基本功能

通过monitor命令,redis客户端可以让自己变成一个监视器,实时接收并打印出服务器当前处理的命令请求相关信息。

每当客户端向服务器发送命令请求,redis服务器除了会处理命令请求,还会将命令请求的信息发送给所有监视器。

二、成为监视器

发送monitor命令,可以成为监视器,步骤如下:

1)打开客户端client.flags的监视器标识,client.flags|=REDIS_MONITOR。

2)将客户端添加到服务器状态的redisServer结构体中,monitors属性的末尾,server.monitors.append(client)。

3)向客户端返回ok,send_reply(“OK”)。

三、向监视器发送命令信息

服务器每次处理请求之前,都会调用replicationFeedMonitors函数,将被处理的请求发送给相关的监视器。

——written by linhxx 2017.10.02

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2017-10-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python

Django中的信号

Django中内置的signal Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Mo...

1868
来自专栏岑志军的专栏

Swift-单例

1665
来自专栏Python

django之对FileField字段的upload_to的设定

     用django开发,经常要处理用户上传的文件, 比如user模型里面如果又个人头像的字段 ImageField等等,而django在FielField...

19510
来自专栏前端架构

AngularJS API之extend扩展对象

这种使用方式,会保留原始对象,把user1与user2进行整合,在复制给user3.

612
来自专栏学习力

《Java从入门到放弃》框架入门篇:Struts2的基本访问方式

1796
来自专栏青青天空树

jersey之get,put,post,delete简单使用

  要使用jersey首先要有相应的依赖包,获取方法有很多,本地下载依赖文件或maven获取,这里假设你的环境已经搭建好了。要使用jersey首先要初始化一个c...

672
来自专栏xingoo, 一个梦想做发明家的程序员

AngularJS API之extend扩展对象

angular.extend(dst,src),在我实验的1.2.16版本上是支持深拷贝的。但是最新的API显示,这个方法是不支持深拷贝的。 另外,第二个参...

16610
来自专栏技术博客

MVC项目开发中那些用到的知识点(Ajax.BeginForm)

 AjaxFormPost为Action,Home为控制器,new {ID=“11”,ClassName="FirstClass"}为路由参数即Url参数

632
来自专栏Java技术分享

SpringBoot第3小节:数据库操作(上)

Spring-Data-Jpa,定义了一系列对象持久化的标准,就是Hibernate的整合。这节讲的是datasouce和jpa的配置。 1.在pom.xml文...

2815
来自专栏技术博客

MVC项目开发中那些用到的知识点(登录权限认证)

     话说从开始接触MVC到现在也有一段时间了,记得好像是从2012年8月初开始做项目的。就记录一下自己所用到的且认为重要的知识点吧。

663

扫描关注云+社区