Плагин mysqlnd memcache (mysqlnd_memcache
) является
модулем PHP для прозрачной трансляции SQL в запрос к
MySQL InnoDB Memcached Daemon Plugin (серверный плагин). Он включает
экспериментальную поддержку MySQL Cluster Memcached Daemon. Серверный плагин
предоставляет доступ к данным в таблицах MySQL InnoDB (с оглядкой на
MySQL Cluster NDB) по протоколу Memcache.
Этот модуль, поддерживающий все модули PHP MySQL, использующие
mysqlnd, будет определять таблицы, экспортированные
таким образом и транслировать соответствующие SELECT-запросы в запросы Memcache.
Замечание:
Плагин требует наличия MySQL InnoDB Memcached Daemon Plugin. Он не может использоваться с отдельно установленным Memcached. Для общего кеша запросов с использованием Memcached смотрите плагин кеша запросов mysqlnd. Использование прямого доступа к Memcache описано в разделах, посвящённых модулям memcache и memcached.
Родной драйвер MySQL для PHP является С-библиотекой, которая поставляется в составе PHP. Он служит заменой для MySQL Client Library (libmysqlclient). Использование mysqlnd имеет некоторые преимущества: не нужно загружать дополнительные библиотеки и модули, поскольку он поставляется в составе дистрибутива PHP, он распространяется под лицензией PHP, в большинстве случаев потребляет меньше памяти и имеет дополнительные возможности, такие как асинхронные запросы.
mysqlnd_mmemcache
работает, по большей части,
прозрачно для пользователя. Плагин mysqlnd memcache поддерживает все
приложения PHP и все модули MySQL PHP.
Он не меняет текущее API. Таким образом его достаточно просто использовать с
существующими приложениями.
Плагин MySQL Memcache добавляет метод доступа в стиле ключ-значение к данным в InnoDB с поддержкой NDB (кластер MySQL) по протоколу Memcache protocol. Тип доступа ключ-значение зачастую быстрее, чем использование SQL-запросов.
Ключевые особенности PECL/mysqlnd_memcache.
Возможное увеличение производительности
На стороне клиента: легковесный протокол.
На стороне сервера: отсутствие необходимости разбора SQL, прямой доступ к данным.
Пожалуйста, проведите свои собственные тесты! Фактические результаты работы сильно зависят от используемых настроек и аппаратного обеспечения.
Начальная версия не является бинарно-безопасной. Из-за того, каким образом работают плагины MySQL Memcache, существуют ограничения, связанные с разделителями.
Не поддерживаются подготовленные и асинхронные запросы. Мета-данные результирующего набора ограничены.
Информация о сопоставлении для таблиц, доступных через Memcache, не кешируется в плагине между запросами, а запрашивается с сервера MySQL каждый раз, когда соединение с MySQL связано с соединением Memcache. Более подробно читайте mysqlnd_memcache_set().
mysqlnd_memcache
является сокращением от
mysqlnd memcache plugin
.
Memcache является отсылкой к поддержке плагина MySQL Memcache для
InnoDB и NDB (кластер MySQL). Плагин не связан с кеширующим сервером
Memcached.