1、存储方式

  Memecache把数据全部存在内存之中,断电后会挂掉,没有持久化功能,数据不能超过内存大小。

  Redis有部份存在硬盘上,这样能保证数据的持久性。

2、数据支持类型

  Memcache对数据类型支持相对简单,只有String这一种类型

  Redis有复杂的数据类型。Redis不仅仅支持简单的k/v类型的数据,同时还提供 list,set,zset,hash等 数据结构的存储。

3、使用底层模型不同

  它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。

  Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请 求。

4、集群模式:

  Memcached没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但是 Redis 目前 是原生支持 cluster 模式的.

5、Memcached是多线程,非阻塞IO复用的网络模型;Redis使用单线程的多路 IO 复用模型。

6、Value 值大小不同:Redis 最大可以达到 512MB;Memcached 只有 1MB。