单进程单线程请求处理的Redis快在哪里

Redis为什么快

1、完全基于内存

2、数据结构简单,对数据操作也简单

3、使用单进程单线程处理请求,避免了不必要的CPU的切换、死锁问题及其他多进程多线程可能出现的问题。

4、使用多路I/O复用模型

 

Redis为什么是单线程的

因为Redis是基于内存的操作,CPU并不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。又由于单线程容易实现,所以就顺理成章地采用单线程的方案了。

 

单线程好处

1、代码更清晰,处理逻辑更简单

2、不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗

3、不存在多进程或者多线程导致的切换而消耗CPU

 

单线程弊端

无法发挥多核CPU性能(不过可以通过在多核的单机系统中开多个Redis实例来完善)

 

注意:

1、这里所说的单线程是指Redis在处理请求的时候是单线程的,Redis服务器端并不是单线程的,例如Redis在进行持久化的时候就会根据实际情况以子进程或子线程的方式来执行

2、Redis 4.0版本开始会在某一些操作上支持多线程的方式

 

参考资料:

https://redis.io/topics/faq

https://segmentfault.com/a/1190000003063859#articleHeader6

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值