比较 Redis 与 Memcached

选择满足您需求的内存中数据存储。

在 Redis 和 Memcached 之间选择

Redis 和 Memcached 都是热闹的开源内存中数据存储。尽管它们既易于使用又可达到高性能,但在选择引擎时仍有重要的区别需要考虑。Memcached 的设计颇为简洁,而 Redis 具有多种功能,能够有效应用于各种使用案例。了解您的要求以及每个引擎的功能,以确定哪种解决方案更能满足您的需求。

亚毫秒级延迟

Redis 和 Memcached 都支持亚毫秒级响应时间。通过将数据存储在内存中,它们读取数据的速度可比基于磁盘的数据库更快。

开发人员易用性

Redis 和 Memcached 在语法上都易于使用,只需极少的代码即可集成到您的应用程序中。

数据分区

Redis 和 Memcached 都允许您在多个节点之间分配数据。这使您在需求增长时可以横向扩展以更好地处理更多数据。

支持多种编程语言

Redis 和 Memcached 都有许多可供开发人员使用的开源客户端。支持的语言包括 Java、Python、PHP、C、C++、C#、JavaScript、Node.js、Ruby、Go 等。

高级数据结构

除字符串外,Redis 还支持列表、集合、有序集合、哈希、位数组和 HyperLogLog。应用程序可以使用这些更高级的数据结构来支持各种用例。例如,您可以使用 Redis 有序集合轻松实现游戏排行榜,该排行榜按排名在列表中对玩家进行排序。

多线程架构

由于 Memcached 为多线程,因此它可以使用多个处理内核。这意味着您可以通过扩展计算容量来处理更多操作。

快照

通过 Redis,您可以使用时间点快照将数据保存在磁盘上,该快照可用于存档或恢复。

复制

Redis 允许您创建 Redis 主节点的多个副本。这让您可以扩展数据库读取规模并得到高可用性集群。

事务处理

Redis 支持允许您将一组命令作为独立的原子操作执行的交易。

发布/订阅

Redis 支持带有模式匹配的发布/订阅消息收发,您可以将其用于高性能聊天室、实时评论流、社交媒体源和服务器互通。

Lua 脚本编写

Redis 允许您执行事务性 Lua 脚本。脚本可以帮助您提高性能并简化应用程序。

地理空间支持

Redis 有专门构建的命令,用于大规模处理实时地理空间数据。您可以执行多种操作,例如查找两个元素(例如人或地点)之间的距离,以及查找与点相距给定距离以内的所有元素。

Amazon ElastiCache

Amazon ElastiCache 提供完全托管的 Redis 和 Memcached。有了 ElastiCache for RedisElastiCache for Memcached,您:

  • 不再需要执行硬件预置、软件修补、设置、配置和故障恢复等管理任务。这使您能够专注于开发高价值的应用程序。
  • 能够获得与您的节点相关的监控指标,让您能够对问题进行快速诊断和响应。
  • 可以充分利用经济高效且可调整的硬件容量。

此外,ElastiCache for Redis 还具有增强型引擎,该引擎提高了开源 Redis 的可靠性和效率,同时保持与 Redis 的兼容性,因此您现有的 Redis 应用程序无需更改即可无缝运行。ElastiCache for Redis 还具有在线集群大小调整功能,支持加密,符合 HIPAA 要求PCI DSS 标准

ElastiCache for Memcached 具有自动发现功能,它可简化应用程序连接到集群的方式,从而帮助开发人员节省时间和精力。

阅读更详细的 ElastiCache for Redis 和 Elasticache for Memcached 之间的比较,进一步了解这两种产品之间的差异。

只需执行三个步骤,即可通过 AWS Free Tier 开始使用 Amazon ElastiCache:
了解适用于 Redis 的 Amazon ElastiCache

通过简单教程进行学习

了解如何创建 RedisMemcached 集群。
开始使用 ElastiCache for Redis

开始构建

借助 用户指南开始构建。