性能对比:
Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis在存储小数据时比 Memcached 性 能更高。
而在 100k 以上的数据中,Memcached 性能要高于 Redis
内存使用效率对比:
简单的 key-value 存储的话,Memcached 的内存利用率更高。使用类似内存池
Redis 采用的是包装的 malloc/free,(tcmalloc,jmalloc)相较于 Memcached 的内存管理方法来说,要简单很多
如果 Redis 采用 hash 结构来做 key-value 存储, 由于其组合式的压缩, 其内存利用率会高于 Memcached
Redis支持服务器端的数据操作:
Redis 支持更多数据结构和并支持更丰富的数据操作
Memcached需要将数据拿到客户端来进行修改再 set 回去
网络IO模型
memcached是多线程,非阻塞IO复用的网络模型,原型上接近Nignx
redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll, kqueue和select,更仅仅Apache早期的模式