这里,我们去了解一下redis的命令在执行的时候,有哪些内容需要去注意的
- 线程模型
- 事务
线程模型
Redis 单线程模型
Redis 基于 Reactor 模式设计
开发了一套高效的事件处理模型
(被称为文件事件处理器)
(Netty 的线程模型也基于 Reactor 模式,Reactor 模式不愧是高性能 IO 的基石)
文件事件处理器
文件事件处理器使用 I/O 多路复用(multiplexing)程序
来同时监听多个套接字
,并根据套接字目前执行的任务来为套接字关联不同的事件处理器当被监听的套接字准备好执行连接应答(accept)、读取(read)、写入(write)、关 闭(close)等操作时
,与操作相对应的文件事件就会产生,这时文件事件处理器就会调用套接字之前关联好的事件处理器来处理这些事件。文件事件处理器既实现了高性能的网络通信模型,又可以很好地与 Redis 服务器中其他同样以单线程方式运行的模块进行对接
,这保持了 Redis 内部单线程设计的简单性
。
I/O 多路复用技术的使用让