Memcached

易于使用的分布式内存键值存储,可用作高性能缓存或会话存储。

什么是 Memcached?

Memcached 是一种易于使用的高性能内存数据存储。它提供了一项成熟的可扩展开源解决方案,能够实现亚毫秒级响应时间并用作缓存会话存储。Memcached 非常热门,可为 Web、移动应用程序、游戏、广告技术和电子商务领域的实时应用程序提供支持。

什么是 Memcached?

Memcached 如何运作?

与将数据存储在磁盘或 SSD 上的数据库不同,Memcached 将数据保存在内存中。由于无需访问磁盘,Memcached 等内存键值存储避免了查找时间延迟,并且可以在几微秒内访问数据。Memcached 还是分布式的,这意味着它可以通过添加新节点轻松扩展。同时,由于 Memcached 是多线程的,您可以轻松扩展计算容量。Memcached 运行快速且可扩展,不仅设计简单、内存管理高效,而且对大多数热门语言提供 API 支持,因此非常适合高性能、大规模缓存使用案例。

Memcached 的优势

Memcached 将所有数据都保存在服务器的主内存中。与 PostgreSQL、Cassandra 和 MongoDB 等将大部分数据存储在磁盘或 SSD 上的数据库不同,内存数据存储无需重复往返磁盘。这使得它们能够支持多一倍的操作,以及将响应时间缩短一倍。结果是,以亚毫秒级的平均读写时间和每秒数百万次操作的支持提高了性能。

Memcached 的设计简单通俗,使其在应用程序开发中既强大又易于使用。Memcached 开发人员可以使用多种开源客户端。支持的语言包括 Java、Python、PHP、C、C++、C#、JavaScript、Node.js、Ruby、Go 等。

Memcached 的分布式多线程架构使其易于扩展。您可以将数据分散到多个节点中,从而通过向集群添加新节点来扩展容量。此外,由于 Memcached 是多线程的,因此可以在给定的节点上使用多个核心。这使得扩展计算容量轻而易举。使用 Memcached,您可以构建高度可扩展的分布式缓存解决方案,以提供快速且一致的性能。

Memcached 是一个成熟的开源项目,由充满活力的社区提供支持。WordPress 和 Django 等应用程序支持使用 Memcached 来提高性能。Memcached 基于开放标准,没有任何供应商或技术限制,支持开放的数据格式,并拥有大量客户。

使用案例

缓存

Memcached 非常适合用来实施高性能内存缓存,从而降低数据访问延迟、增加吞吐量并减轻后端系统的负载。Memcached 可以在不到一毫秒的时间内为缓存项目提供服务,并使您能够轻松且经济高效地实现扩展,从而处理更高的负载。Memcached 非常适合数据库查询结果缓存、会话缓存、网页缓存、API 缓存和对象(如图片、文件和元数据)缓存。

会话存储

作为内存数据存储,Memcached 非常适合应用程序开发人员用来在持久性不重要的情况下存储和管理 Internet 规模应用程序的会话数据。Memcached 旨在提供管理会话数据(如用户配置文件、凭证和会话状态)所需的亚毫秒级延迟和规模。

语言支持

Memcached 支持大多数领先的编程语言和协议,包括:

Python

Java

PHP

C/C#/C++

Perl

Go

Ruby

JavaScript

Node.js

ASCII 协议

二进制协议

TCP 和 UDP 协议

Redis 与Memcached

Redis 和 Memcached 是两种最受欢迎的内存中键值数据存储服务。Memcached 的设计颇为简洁,而 Redis 具有多种功能,能够有效应用于各种使用案例。了解这两种引擎的区别,以便确定能够更好地满足您需求的解决方案。详细了解 Redis 与Memcached

AWS 上完全托管的 Memcached

Amazon 提供完全托管的 Memcached 服务,即 Amazon ElastiCache for Memcached

  • 轻松地在云中设置、操作和扩展 Memcached 部署。自动检测和更换故障节点。
  • 充分利用经济高效且可调整的硬件容量。
  • 使用具备自动发现功能的 ElasitCache Memcached 集群客户端,以通过简化节点管理来加快应用程序的开发。