redis与memcached有什么区别?
redis的数据类型比memcached的多,支持的数据结构更为丰富。
redis支持集群,而memcached不支持集群。
redis的线程模型是什么?
文件事件处理器
redis基于reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器,file event handler。这个文件事件处理器,是单线程的,所以redis才叫做单线程的模型。
下图框起来的整个部分指的是文件事件处理器:
为什么单线程的redis比多线程的memcached效率高(单线程还支持高并发 )?
redis的各个时间处理器属于纯内存操作,效率高
核心是基于非阻塞的IO多路复用机制
单线程反而避免了多线程的频繁上下文切换问题