分布式缓存经常使用Memcached和Redis。
但是,现在很少用Memcached制作缓存,直接使用Redis。
Memcached是分布式缓存最早兴起的公司,比较常用。 之后,随着Redis的发展,大家慢慢开始使用更强大的Redis。
Redis和Memcached的区别和共同点:
它们都是基于内存的数据库,通常用作缓存。 它们都有过期的战略,在性能上有非常大的差异。
Redis支持更丰富的数据类型。 支持更复杂的APP应用场景。 Redis不仅提供简单的k/v类型数据,还提供list、set、zset和hash等数据结构的存储Redis支持数据持久化,它可以将内存中的所有数据存储在磁盘上,并在重新启动时重新加载Redis有灾难恢复机制。 因为缓存数据可以持久化到磁盘上。 Redis可以在服务器内存使用后将不使用的数据放在磁盘上,但Memcache在服务器内存使用后报告异常。 虽然Memcache没有本机群集模式,而是需要依赖于客户端向群集中的分片写入数据,但Redis目前本机支持群集模式。 Memcached是多线程、无阻塞IO复用的网络模型,Redis使用单线程复用IO复用模型。 Redis支持发布订阅模型、lua脚本和事务等功能,但Memcached不支持。 而且,Redis支持更多的编程语言。 Memchached的过期数据删除策略仅使用惯性删除,Redis同时使用惯性删除和定期删除。