缓存技术比拼:Redis与Memcached的同与不同

缓存技术比拼:Redis与Memcached的同与不同

转至:http://developer.51cto.com/art/201603/507980.htm

在今天的文章中,我们将探讨Redis(REmote DIctionary Server)。Redis是一套开源、内存内、键值存储方案。其亦可作为字典服务器接受引用,因为其中的键值并非单纯的字符串,而可包含散列、集、列表以及排序集等等。

缓存技术比拼:Redis与Memcached的同与不同

Redis在表面上看与Memcached存在诸多共同点,但二者却又有着很大区别。

缓存技术比拼:Redis与Memcached的同与不同

特性说明

  • 内存内: Redis将键值存储在主内存中,旨在加快读取与写入速度。
  • 复制: Redis支持主-从复制。相关数据访问可由从节点实现,而写入则可由主节点执行。复制过程具备可扩展性与可用性。如果任一从节点发生故障,其它从节点则继续提供数据访问支持。
  • 数据结构: Redis不仅存储字符串,同时亦包含列表、集、散列以及排序集等。
  • 虚拟内存: Redis利用RAM作为内存内存储机制。不过在RAM存储过程中,其实际使用虚拟内存进行数据承载。
  • 发布/订阅模式: Redis能够创建发布与订阅频道,各Redis客户端能够订阅任意频道以消费数据,而且订阅任意频道的客户端都能够进行数据发布。
  • 数据持久性: Redis会将内存内数据保留在文件系统当中以备定期检索。当Redis节点发生故障时,相关数据可由Redis Data文件进行恢复。

Redis还拥有一套富SDK支持集。大家可以点击此处获取其完整的客户端库列表。

另外还有不少高流量网站已经在使用Redis,其中包括:

  • Stack Overflow
  • Craigslist
  • Rackspace
  • Plugin support for Magento
  • GitHub

过去几年来,Redis阵容在规模上正日益壮大,感兴趣的朋友亦可点击此处查看BD-Engines网站计算得出的相关发展趋势。

缓存技术比拼:Redis与Memcached的同与不同