1 完全基于内存
2 单线程,避免线程频繁切换消耗cpu,也不用考虑多线程死锁等问题
3 数据结构简单,对数据操作也简单,Redis数据结构是专门进行设计的,就5种数据结构
4 使用多路I/O复用模型,非阻塞IO
多路IO复用模型是利用select poll epoll可以同时监察多个流的io事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或者多个流有io事件时,就从阻塞中唤醒。于是程序就会轮询一遍所有的流(epoll是只轮询那些真正发生事件的流),并且依次顺序处理就绪的流,这种做法避免了大量的无用操作
多路:指多个网络连接
复用:指复用同一个线程
好处:采用多路IO复用技术可以让单个线程高效的处理多个连接请求,尽量减少网络IO的时间消耗