memcached
сервис кэширования данных в оперативной памяти / Материал из Википедии — свободной encyclopedia
Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.
Memcached | |
---|---|
Тип | кэш |
Разработчик | Danga Interactive[вд] |
Написана на | Си[1] |
Операционная система | кроссплатформенность |
Первый выпуск | 22 мая 2003 |
Последняя версия | |
Репозиторий | github.com/memcached/mem… |
Лицензия | модифицированная лицензия BSD[вд][2] |
Сайт | memcached.org (англ.) |
С помощью клиентской библиотеки (для C/C++, Ruby, Perl, PHP, Python, Java, .Net и др.) позволяет кэшировать данные в оперативной памяти множества доступных серверов. Распределение реализуется путём сегментирования данных по значению хеша ключа по аналогии с сокетами хеш-таблицы. Клиентская библиотека, используя ключ данных, вычисляет хеш и использует его для выбора соответствующего сервера. Ситуация сбоя сервера трактуется как промах кэша, что позволяет повышать отказоустойчивость комплекса за счёт наращивания количества memcached-серверов и возможности производить их горячую замену.
В API memcached есть только базовые функции: выбор сервера, установка и разрыв соединения, добавление, удаление, обновление и получение объекта, а также Compare-and-swap. Для каждого объекта устанавливается время жизни, от 1 секунды до бесконечности. При исчерпании памяти более старые объекты автоматически удаляются. Для PHP также есть уже готовые библиотеки PECL для работы с memcached, которые дают дополнительную функциональность.
По умолчанию memcached использует порт 11211.