美文网首页
Redis学习第一弹-为什么高并发

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

作者: 同人于野_2068 | 来源:发表于2019-03-11 18:28 被阅读0次

    高并发原因

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

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

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

    单线程的好处

    不需要各种锁的性能损耗

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

    劣势

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

    相关文章

      网友评论

          本文标题:Redis学习第一弹-为什么高并发

          本文链接:https://www.haomeiwen.com/subject/ptobpqtx.html