Плагин 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.
Замечание:
Этот плагин требует наличия the MySQL InnoDB Memcached Daemon Plugin. Он не может использоваться с отдельно установленным Memcached. Описание обычного кеш а использующий Memcached смотрите плагин кеша запросов mysqlnd. Использование прямого доступа к Memcache описано в разделах посвященных расширениям memcache и memcached.
Родной драйвер MySQL для PHP является С-библиотекой, которая поставляется в составе PHP начиная с версии 5.3.0. Он служит заменой для 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.