redis单线程为什么还快的个人解释

面试的时候,
面试官问,redis是单线程还是多线程
答:单线程
面试官再问,单线程,为什么还快呢?不应该是多线程才更快吗?那这是不是有什么矛盾啊?
答:啊???。。。。。。(心里卧槽,就是单线程所以快啊,还说多线程什么事,难道是我哪块的知识点出了问题了?)

对,这是一次真实的面试,没想到快被用烂的redis,竟然让人这样问住了,其实道理我知道,但一时突然语塞,真不知道怎么解释好,其实是一个坑。

以下是复盘的回答:

redis是单线程的,是因为redis是基于内存的,所以他的性能和cpu没有关系,而是和内存大小与带宽有关,所以既然和cpu没什么关系,那使用单线程就比多线程好多了,最明显的一点就是不用担心多线程的锁的问题了,而且如果觉得对于多核的c pu来说,单线程是不是有点让其他核闲置了,那么这其实就是另外一个问题了,我们完全可以起多个redis进程,比如4核就起4个redis进程,由于redis是key-value型数据库,数据之间不像关系型数据库那样有约束,只要客户端能分清哪些进程上存放哪些key就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值