Redis系列(六):你说要看Redis线程模型?安排

本文介绍了Redis的线程模型,包括事件驱动的文件事件和时间事件,阐述了Redis如何通过I/O多路复用处理器处理网络事件,并详细解释了时间事件的实现和文件事件与时间事件的配合工作方式。Redis 6.0引入多线程主要是为了解决网络I/O的性能瓶颈,而命令执行仍保持单线程。
摘要由CSDN通过智能技术生成

  作者:z小赵

★ 

一枚用心坚持写原创的“无趣”程序猿,在自身受益的同时也让朋友们在技术上有所提升。

最近有朋友说,能不能写一篇关于 Redis 线程模型的文章,面试被问到不会导致比较尴尬;今天就来给安排上。

Redis 事件是什么?

不是讲线程模型吗?和事件有什么关系?实际上 Redis 是一个事件驱动程序;大白话理解一下:就是通过事件的方式来运行 Redis 的。比如客户端向服务端发起一个 get 请求,在做好了建连、发送请求、响应请求、关闭连接等准备操作后,就触发了一个事件。所以在了解线程模型之前,先来看看事件。

Redis 的事件分为两种,分别是文件事件时间事件两种。

什么是文件事件?

文件事件是 socket 的一个抽象;客户端发送请求到服务端,会先建立连接,然后通过连接发送命令请求,其中每个连接就是一个 socket。对于一个 Redis 服务端,在同一时刻会有很多 socket 连接,每一个 socket 都可以理解成一个文件事件。

每产生一个文件事件后,就将其交给文件事件处理器去处理,文件事件处理器是由 I/O 多路复用处理器、文件事件分发器、事件处理器几部分组成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值