目的是减少一次系统调用,适用于大部分操作类命令的回复 。
可以观察到,整个操作的实现过程,和事件循环本身没有交集的(没有涉及到ae.c),开发者只需要关心具体命令的处理逻辑即可 。
四、补充说明
- 事件都是来源于外部客户端吗?
- 这要看怎么定义“外部客户端”了 。首先事件本身分为两种大类:文件事件和时间事件 。本文主要介绍文件事件 。而文件事件的产生可以是来源于网络客户端的连接,正如本文所描述的,也可以来自 Redis 集群内部运行需要,会使用一些伪客户端来触发一些文件事件 。
- 举个例子,当有从节点 (slave/replica) 向主节点 (master) 发起一次同步的时候,在 Redis 就会产生一个需要处理同步数据的事件 。不过严格意义上来讲,这个从节点对于主节点 Redis 来说,也属于“外部客户端” 。正常情况下,Redis 自身不会主动产生文件事件 。
- Redis 是怎么定期更新状态、删除过期KEY的?
- 读者大概猜到我要引出时间事件这个概念了 。Redis 会定期执行服务器的检查,以及一些周期操作,这个周期由参数hz决定,默认情况下是100毫秒触发一次检查,执行该周期内的时间事件 。
- 时间事件 是 Redis 也是核心流程中重要的一个组成部分,限于篇幅不在这里详细介绍 。但有了对事件循环的认识,要理解时间事件本身也不会太困难 。
【Redis 核心原理和架构】
推荐阅读
- 关于redis学会这8点就够了
- Redis实现统计网站访问人数的功能
- 利用Redis黑进目标系统
- 抖音短视频的核心是什么?
- Redis混合存储产品与架构介绍
- MAC与IP不得不说的故事--深入ARP工作原理
- redis解析:缓存及常见问题
- 一文弄懂视频网站CDN的访问调度原理
- 设计规范篇 苹果手机拆机与原理图对比分析
- 点点滴滴学5G——一文读懂5G中BWP的原理