Redis 单线程还这么快

1、redis是基于内存来存储的,然而内存的读取/响应市场大约为100纳秒,这一点也就是redis能打到每秒万级的重要基础。

2、非阻塞I/O,redis使用epoll作为I/O多路复用技术的实现,再加上redis的自身的时间处理模型将epoll中的连接,读写,关闭都转换为事件,不在网络I/O上浪费时间

3、单线程避免了线程切换和竟态产生的消耗。

单线程带来的好处及问题

单线程带来的好处:

1、单线程可以简化数据结构和算法的实现

2、单线程避免了线程切换和竟态产生的消耗,对于服务端来说,锁和线程切换通常是性能杀手。

单线程的问题:对于每个命令的执行时间是有要求的。(如果某个命令执行时间过长,就会造成其他命令的阻塞,对于redis这种高性能服务来说是致命的。所以redis是面向快速执行场景的数据库)

猜你喜欢

转载自www.cnblogs.com/huyca/p/11135213.html