Memcached

Удобное распределенное хранилище данных типа «ключ-значение» в памяти для использования в качестве высокопроизводительного кэша или хранилища сессий.

Что такое Memcached?

Memcached – это удобное высокопроизводительное хранилище данных в памяти. Продуманное масштабируемое решение с открытым исходным кодом обеспечивает время отклика на уровне долей миллисекунды, что позволяет использовать его в качестве кэша или хранилища сессий. Memcached широко применяется для поддержки рекламных технологий, площадок интернет-коммерции, игровых, мобильных и интернет-приложений, а также других приложений, работающих в режиме реального времени.

Что такое Memcached?

Как работает Memcached?

В отличие от баз данных, хранящих данные на дисках или твердотельных накопителях, Memcached сохраняет данные в оперативной памяти. Поскольку Memcached, как и другие хранилища данных типа «ключ-значение» в памяти, не нуждается в доступе к диску, это исключает задержки, связанные с поиском, и обеспечивает доступ к данным за микросекунды. Кроме того, хранилище Memcached является распределенным, поэтому его можно просто масштабировать путем добавления новых узлов. Многопоточность Memcached позволяет быстро наращивать вычислительную мощность. Благодаря высокой скорости, масштабируемости, простоте, эффективности управления памятью и поддержке API для большинства распространенных языков программирования Memcached широко применяется для создания масштабного кэша с высокой производительностью.

Преимущества Memcached

Примеры использования

Кэширование

Memcached – прекрасное решение для реализации высокопроизводительного кэша в памяти, позволяющего сократить задержку при доступе к данным, повысить пропускную способность и снизить нагрузку на серверные системы. Время доступа к объектам в кэше Memcached составляет менее миллисекунды. Кроме того, такой кэш можно просто и экономично масштабировать при повышении нагрузки. Memcached широко применяется для кэширования сессий, веб-страниц, API, результатов запросов к базе данных, а также изображений, файлов и метаданных.

Хранилище сессий

Многие разработчики используют Memcached как хранилище данных в памяти и средство управления данными для сессий приложений, работающих в масштабе Интернета, которым не требуется постоянное хранение. 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

Полностью управляемый сервис Memcached на AWS

Amazon предлагает полностью управляемый сервис Memcached – Amazon ElastiCache для Memcached.

  • Простота настройки, использования и масштабирования развертываний Memcached в облаке. Автоматическое обнаружение и замена отказавших узлов.
  • Недорогие аппаратные ресурсы с возможностью масштабирования.
  • Использование клиента ElastiCache для кластера Memcached с возможностью Auto Discovery для ускорения разработки приложений благодаря упрощенному управлению узлами.