有很多同学就有疑问了,既然官方都表示CPU不是Redis的性能瓶颈,那么为什么还要引入多线程呢? 虽然单线程有很多优点,但对应的也必然会有一些缺点存在:
但是redis并没有直接上多线程IO去处理这些,而是在多线程之前引入了LazyFree机制
lazyFree 主要包括有:flushDb操作,flushall,berewriteaof,删除大key等操作,采用多线程去单独做这些事情,主线程只负责关系的解除,子线程在后台默默的异步执行这些耗时的操作。
安全的
一句话总结:多线程只用在了IO读写上面,redis命令执行还是单线程执行。