09-Redis IO 多路复用

目录

一 Redis 是单线程还是多线程?

二 为什么单线程的 Redis 性能很高?

三 什么是 IO 多路复用技术?

四 Redis 6.0 开始引入多线程?


一 Redis 是单线程还是多线程?

这个问题可以一分为二:

Redis 是单线程,是因为 Redis 使用文件事件分派器来处理事件队列,且该文件事件分派器是单线程的,所以 Redis 才叫做单线程的模型。

Redis 是多线程,是因为持久化、异步删除、集群数据同步等操作都是由数据读写线程之外其他线程执行的,所以 Redis 也可以叫做多线程模型。

之所以大家都说是单线程,是因为单线程的 Redis 性能很高。

二 为什么单线程的 Redis 性能很高?

1 Redis 的数据都是存储在内存中,内存操作很快。

2 Redis 使用 IO 多路复用技术来处理并发事件。

内存这个很容易理解,不多说,接下来我们详细分析一下 IO 多路复用技术。

三 什么是 IO 多路复用技术?

如图为 Redis 的客户端与服务端整体事件处理流程图:

你可能感兴趣的:(数据库学习,#,Redis,Redis,线程模型,IO,多路复用)