Redis 虽然以单进程单线程模型进行操作,但是它的性能却十分优秀。总结来说,主要是因为:
绝大部分请求是纯粹的内存操作;
采用单线程,避免了不必要的上下文切换和竞争条件;
内部实现采用非阻塞 IO 和 epoll,基于 epoll 自己实现的简单的事件框架。epoll 中的读、写、关闭、连接都转化成了事件,然后利用 epoll 的多路复用特性,绝不在 IO 上浪费一点时间。
Redis 虽然以单进程单线程模型进行操作,但是它的性能却十分优秀。总结来说,主要是因为:
绝大部分请求是纯粹的内存操作;
采用单线程,避免了不必要的上下文切换和竞争条件;
内部实现采用非阻塞 IO 和 epoll,基于 epoll 自己实现的简单的事件框架。epoll 中的读、写、关闭、连接都转化成了事件,然后利用 epoll 的多路复用特性,绝不在 IO 上浪费一点时间。
本文标题:Redis 虽然以单进程单线程模型进行操作,但为什么它的性能却十
本文链接:https://www.haomeiwen.com/subject/efhmfltx.html
网友评论