1、数据结构
Memccached 只支持key-value类型
Reids 支持 String hash list set sortedSet,内部都是通过ReidsObject来表示
2、内存管理
Memcached 使用的是Slab allocation机制,将内存划分为不同大小的块,在操作时会将数据放入大小合适的块中,有效减少内存碎片,但是会造成一些内存浪费。
Redis只是封装了一下原始的mallc/free操作。
Redis 会将所有的key都放入内存,如果内存不够会swap部分的value到磁盘,当然也会尝试清理掉部分不用的数据(LRU算法)。
3、持久化
Memcached不支持持久化
Redis 支持 AOF 和 RDB
4、集群管理
Memcached不支持分布式,所以需要客户端来实现。
Redis 除了客户端自身实现,也提供了Redis Cluster来支持分布式存储。