26 lines
421 B
Markdown
26 lines
421 B
Markdown
|
|
# 线程模型
|
||
|
|
|
||
|
|
**主线程**
|
||
|
|
|
||
|
|
1. 接收请求
|
||
|
|
2. 解析请求
|
||
|
|
3. 执行请求
|
||
|
|
|
||
|
|
*使用一个主线程完成,但是不可以说 `Redis` 程序单线程的*
|
||
|
|
|
||
|
|
**后台线程**
|
||
|
|
|
||
|
|
- AOF刷盘线程
|
||
|
|
- 关闭文件线程
|
||
|
|
- 释放内存线程
|
||
|
|
|
||
|
|
*这些线程执行比较耗时,因此单独创建*
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
> Q: 为什么 Redis 只有一个主线程还可以这么快?
|
||
|
|
>
|
||
|
|
> A:
|
||
|
|
> - 内存
|
||
|
|
> - 多线程竞争
|
||
|
|
> - I/O 多路复用
|