为什么需要多线程的Redis
在单点上利用更多的资源--热点资源
官方的多线程
只看左边部分其实还是单线程的形式,
设置io Thread的数量==》配置2~3
设置第二步也开启多线程(redis默认为写请求比较重)
实际效果不佳
==》主线程需要分发,使用无锁轮询的方式去和线程进行通讯,在大量QPS情况下轮询占用了大量的cpu
==》主线程跟不上多线程的操作
KeyDB
相当于开了多个redis,但是用同一个db且绑定同一个端口
问题==》给db加了把大锁,线程数多的时候,由于它也是不加mutex进入内核去等待,就是一把自旋锁进行轮询