redis的线程模型

redis与memcached有什么区别?

  • redis的数据类型比memcached的多,支持的数据结构更为丰富。

  • redis支持集群,而memcached不支持集群。

redis的线程模型是什么?

文件事件处理器

redis基于reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器,file event handler。这个文件事件处理器,是单线程的,所以redis才叫做单线程的模型。
下图框起来的整个部分指的是文件事件处理器:
redis单线程模型

为什么单线程的redis比多线程的memcached效率高(单线程还支持高并发 )?

  • redis的各个时间处理器属于纯内存操作,效率高

  • 核心是基于非阻塞的IO多路复用机制

  • 单线程反而避免了多线程的频繁上下文切换问题

如果本文对你有所帮助,请赏我1个铜板买喵粮自己吃,您的支持是我最大的动力!!!