redis的简单抽象模型:
文件事件处理器===>保证redis单线程 多个socket ------->>>service socket 请求--->> ------->>>io多路复用程序 ------->>>队列 ------->>>文件处理分派器 ------->>>各种事件处理器: 1.事件请求处理器 2.事件应答处理器 3.事件回复处理器 6.0版本后,队列中的 i/o网络网络协议处理 抽取出来做成了多线程处理 redis 高性能的原因: 高性能: 直接从redis中获取数据,减少与数据库交互,增加性能。 高并发: 转移部分数据到redis中,降低数据库的压力。 redis为什么快? 1.使用内存,数据结构类似于hashmap,操作的时间复杂度O(1) 2.redis的数据结构进行了专门的优化。 3.采用单线程,避免上下文切换和竞争条件,也不存在多进程或者多线程导致切换消耗cpu,并且不需要考虑各种锁。 4.使用多路复用的io模型,非阻塞io 5.redis自己构建了vm机制,因为调用系统函数,会浪费一定的时间去移动和请求。 标签:socket,redis,-------,处理器,io,多线程 From: https://www.cnblogs.com/dhdnm/p/16603547.html