美文网首页
Redis深入应用-原理篇

Redis深入应用-原理篇

作者: 美雨知春 | 来源:发表于2020-09-11 18:56 被阅读0次
    1. 线程IO模型
      redis是个单线程程序。多路复用,用select事件轮询,select轮询可能开发过串口接口的同学会很清楚。
    read_events,write_events = select(read_fs,write_fs,timeout)
    for event in read_events:
      handle_read(event.fd)
    for event in write_events:
      handle_write(event.fd)
    handle_others() # 处理其它事情,如定时任务等
    
    1. 通信协议
      RESP是Redis序列化协议,有5种最小的单元类型,单元结束时统一加上\r\n
    2. 持久化
      Redis的数据全部在内存中,但是数据也是持久化的,有两种持久化方式:AOF和快照(COW)
      AOF:是对指令进行日志存储
      COW:copy onWrite,子进程直接拷贝内存数据
      混合持久化:快照+指令恢复
    3. Redis的消息交互-管道
      读写数据存储的缓存中,顺序读写,不需要一个请求对应一个回复。这也是管道的原理,这一点跟淳口通信非常相似
    4. 事务和原子性
      redis支持事务和原子性的
    5. PubSub,消息订阅,同时也支持模式订阅
      支持一个生产者,多个消费者模型
      模式订阅是指对消息类型进行订阅
    6. 内存管理
      内存回收,并不是总将空闲内存立即归还给操作系统
      内存分配:redis自己并不直接分配内存,而是把内存分配丢给第三方进行管理:jemalloc

    相关文章

      网友评论

          本文标题:Redis深入应用-原理篇

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