Redis的做者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较,整体来看仍是比较客观的,现总结以下:
1)性能对比:因为Redis只使用单核,而Memcached可使用多核,因此平均每个核上Redis在存储小数据时比Memcached性能更 高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,可是比起 Memcached,仍是稍有逊色。
2)内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而若是Redis采用hash结构来作key-value存储,因为其组合式的压缩,其内存利用率会高于Memcached。
3)Redis支持服务器端的数据操做:Redis相比Memcached来讲,拥有更多的数据结构和并支持更丰富的数据操做,一般在Memcached 里,你须要将数据拿到客户端来进行相似的修改再set回去。这大大增长了网络IO的次数和数据体积。在Redis中,这些复杂的操做一般和通常的 GET/SET同样高效。因此,若是须要缓存可以支持更复杂的结构和操做,那么Redis会是不错的选择