个人简介

Echo Blog


江湖无名 安心练剑
  • Redis Learn-12-慢日志 slow log
    慢日志 Redis 的慢查询日志功能用于记录执行时间超过给定时长的命令请求, 用户可以通过这个功能产生的日志来监视和优化查询速度。 配置选项 服务器配置有两个和慢查询日志相关的选项: slowlog-log-slower-than 选项指定执行时间超过多少微秒(1 秒等于 1,000,000 微秒)的命令请求会被记录到日志上。 举个例子, 如果这个选项的值为 100 , 那么执行时...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-12-latency
    慢操作的定位 在定位慢操作的时候,我们经常根据 slowlog 去定位 但是一个执行操作,如果是等待的时间过长,slowlog 是不进行记录的。 slowlog 仅仅记录动作的执行时间。 latency 就是为了解决这个问题而生的。 Redis latency monitoring framework Redis is often used in the context of d...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-11-03-初始化服务器
    初始化服务器 Redis服务器初始化可以分为六个步骤: 初始化服务器全局状态。 载入配置文件。 创建 daemon 进程。 初始化服务器功能模块。 载入数据。 开始事件循环。 初始化服务器全局状态 redis.h/redisServer 结构记录了和服务器相关的...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-11-02-ServerCron
    serverCron 简介 在 Redis 中, 常规操作由 redis.c/serverCron 实现, 它主要执行以下操作 serverCron函数每100毫秒执行一次,负责管理服务器资源,并保持服务器自身的良好运转。 /* This is our timer interrupt, called server.hz times per second. * Here is wher...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-11-01-命令请求的执行过程
    命令去请求的执行过程 一个命令请求从发送到获得回复的过程中, 客户端和服务器需要完成一系列操作。 举个例子, 如果我们使用客户端执行以下命令: redis> SET KEY VALUE OK 那么从客户端发送 SET KEY VALUE 命令到获得回复 OK 期间, 客户端和服务器共需要执行以下操作: 客户端向服务器发送命令请求 SET KEY VALUE ...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-10-02-client 客户端创建和关闭
    客户端的创建和关闭 创建普通客户端 通过网络连接与服务器进行连接的客户端是普通客户端,使用connect函数连接服务器的时候,服务器会调用事件处理器,为客户端创建相应的客户端状态,并将这个新的客户端状态添加到服务器状态结构clients链表的末尾。 例子 c1,c2正在连接服务器,c3是一个新的普通客户端,连接到服务器: 关闭普通客户端 关闭原因 普通客户端关闭的原因: ...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-10-client 客户端
    客户端属性 客户端状态包含的属性可以分为两类: 一类是比较通用的属性,这些属性很少与特定功能相关, 无论客户端执行的是什么工作, 它们都要用到这些属性。 另外一类是和特定功能相关的属性,比如操作数据库时需要用到的 db 属性和 dictid 属性,执行事务时需要用到的 mstate 属性,以及执行 WATCH 命令时需要用到的 watched_keys 属性,等等。 本章将对客户端状...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-09-02-时间事件
    分类 时间事件分为两类: 定时事件 周期事件 一个时间事件包括三要素:id,when,timeproc(时间事件处理器) 时间事件处理器实现: 服务器将所有的时间事件放在一个无序链表中,运行时,遍历整个链表,调用到时间的事件对应的处理器。 正常情况下,服务器只有serverCron一个时间事件,所以采用无序链表不会影响性能。 serverCron 函数 工作主要包括: ...
    2018-12-12 03:35:23 | Redis