redis整理

  • redis 使用单进程单线程,减少内存拷贝,不存在上下文切换,提高性能。
  • 直接内存操作。
  • 过期策略
    redis也是惰性删除,即要用到数据时,先检查key是否过期,过期则删除,然后返回错误。单纯的靠惰性删除,可能会造成内存浪费,redis里面有个定时执行的函数,叫servercron
  • 数据结构
    双端链表结构
  • 事件模型
    linux内核2.6以后引人epoll,使用epoll来做循环事件
    Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的 描述符集合就行了 。
  • 磁盘IO
    fork子进程异步IO处理,不影响主进程服务。
  • 内存管理
    redis没有实现自己的内存池,这使得管理内存更简单,使用时直接分配,内存管理交给内核完成,本身只管理获取和释放。

你可能感兴趣的:(redis整理)