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