Redis学习第一弹-为什么高并发

高并发原因

  1. 基于内存
    内存的存取速度很快

  2. 单线程,省去了很多上下文的切换操作
    因为基于内存的操作,CPU并不是瓶颈。Redis最有可能的瓶颈是内存大小或者网络带宽。既然CPU不是瓶颈,就没有必要设计成复杂的多线程,因此就采用了单线程的设计。

  3. 多路复用
    非阻塞IO使用epoll,epoll中的读、写、关闭、连接都转化成为事件,然后利用epoll的多路复用特性,不在io上浪费一点性能。

单线程的好处

不需要各种锁的性能损耗

Redis的数据结构不全是Key-Value,还有List和Hash等复杂的结构,比如在Hash添加或者删除一个对象,可能需要非常多的锁,导致同步开销大大增加。

劣势

无法发挥多核CPU性能,不过可以在单机多个Redis实例来完善

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Redis的高并发和快速原因 先看结论: redis是基于内存的,内存的读写速度非常快; redis是单线程的,省...
    GeekerLou阅读 1,543评论 0 2
  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 3,844评论 0 5
  • 记得以前有一个广告,具体是什么产品已经不记得了,只记得你里面的主旨意义是“爸爸是超人,但其实爸爸也很需要关爱”,但...
    padon556阅读 394评论 0 1
  • 当我看完了《公主日记》,我就很好奇《公主日记2》,在生活中,没有公主命,却有公主玻璃心。当我看到了女主,从麻雀变成...
    小小梦儿阅读 977评论 0 1
  • 我们带孩子在国内旅行时每次都是自由行!每到一个地方就是先逛超市!采购游玩时食品!同时也能了解当地人的生活!这是我们...
    太阳花棒棒阅读 497评论 5 11

友情链接更多精彩内容