Привет, это моя память. Вслед за темой “Объектно-ориентированное содержание экзаменов на собеседование в PHP”, опубликованной на прошлой неделе (2-11-2-15, 2019), выходит вторая тема. Спасибо вам за ваше чтение. На этой неделе (2019.2-с 18 по 2-22) содержание статьи указывает на следующие моменты, время обновления-среда, среда и пятница, вы можете обратить внимание на эту колонку, продолжая уделять внимание, спасибо за вашу поддержку.
1. Что такое Memcache? 2. Каковы характеристики Memcache? В-третьих, каков механизм управления памятью Memcache? 4. В чем разница между Memcached и Memcached? 5. Как управлять Memcache? 6. Как использовать Memcache для совместного использования сеансов? 7. Что такое Redis? 8. Как использовать Redis? 9. На какие проблемы следует обратить внимание при использовании Redis? 10. Memcache и Редис Частые экзаменационные вопросы
Содержание этой главы будет разделено на три статьи, чтобы объяснить весь блок. Первый в основном составляет от одного до шести, второй – от семи до девяти, а третий – примерно десятый пункт.
Часть следующего текста взята из Интервью с PHP-программистом, Написанного в Тестовой книге Книги, если они воспроизведены, пожалуйста, сохраните источник:
Memcache-это бесплатная и высокопроизводительная система кэширования распределенных объектов с открытым исходным кодом, которая хранит данные в памяти на основе хэш-карты для хранения пар ключ/значение. Его функция заключается в повышении производительности веб-приложений за счет сокращения времени чтения баз данных. Хотя его демон реализован на языке C, клиент может писать на любом языке и взаимодействовать с демоном через протокол Memcache. Следует отметить, что при остановке или сбое сервера все пары ключ/значение, хранящиеся на этом сервере, будут потеряны. Серверная часть Memcached не предоставляет распределенных функций, и каждое приложение Memcache не взаимодействует друг с другом для обмена информацией. Чтобы обеспечить распределенную связь, мы можем создать несколько приложений Memcache и добиться этого эффекта с помощью алгоритмов. Существует две важные концепции Memcache. Slb: Чтобы предотвратить фрагментацию памяти, сервер Memcache заранее делит пространство данных на ряд блоков; например, там
Memcache обладает следующими характеристиками: 1) Протокол прост. 2) обработка событий на основе libevent. 3) Встроенный режим хранения памяти. 4) Распределенный Memcached не взаимодействует друг с другом. Memcache имеет следующие характеристики: (1) Максимальный объем данных для одного элемента составляет 1 МБ. (2) Максимальная память, используемая одним процессом, составляет 2 ГБ, и при необходимости можно открыть несколько портов. (3) Memcached-это многопоточная, неблокирующая сетевая модель мультиплексирования ввода-вывода, Redis-это один поток. (4) Максимальная длина ключа составляет 250 байт.
Memcache делит память на блоки различного размера и разделяет блоки одинакового размера на группы (наборы блоков). Страница-это пространство памяти, выделенное для сляба, по умолчанию 1 МБ, в зависимости от размера сляба, оно разделено на блоки, блоки-это пространство памяти записей пользовательского кэша, а классы слябов-это группа определенных блоков. При хранении данных Memcache будет сжимать размер данных для хранения. Как правило, сжатые данные составляют около 30% от исходного размера данных, что позволяет сэкономить 70% потребляемой производительности передачи. Если количество хранимых ключей меньше 100 байт, то сжатие может привести к расширению, но Memcache хранится в блоках фиксированного размера, как минимум 88B, поэтому расширение сжатия небольших данных не окажет никакого влияния. Конкретный процесс показан на следующем рисунке.
Я сам организовал пьесу.” Как решить проблему лавины кэширования Memcache? “Обратите внимание на общедоступный номер:” Библиотека программирования Рюэйи “Ответ:” я Я пришлю его вам.
На самом деле memcached и memcached относятся к расширению PHP. Memcache-это бесплатная система кэширования объектов с открытым исходным кодом, высокой производительностью и выделенной памятью. Используется для ускорения работы динамических веб – приложений и снижения нагрузки на базу данных. Он может обрабатывать любое количество подключений, используя неблокирующий сетевой ввод-вывод. Поскольку его рабочий механизм заключается в том, чтобы открыть пространство в памяти, а затем создать хэш-таблицу, Memcached управляет этими хэш-таблицами самостоятельно. MemcacheD-это название проекта системы. MemcacheD-это основной программный файл системы (букву D можно понимать как демон). Он работает в режиме демона на одном или нескольких серверах, принимая операцию подключения клиента в любое время и получая доступ к данным с использованием общей памяти. Memcached обрабатывает каждую пару атомов (ключ, значение), и ключ преобразуется в хэш-ключ с помощью алгоритма хэширования, который легко найти, сравнить и как можно больше хэшировать. В то же время memcached использует вторичный хэш, который поддерживается большой хэш-таблицей.
Команды управления Memcached можно разделить на команды хранения, команды поиска и статистические команды. Во-первых, команда хранения Memcached:
Вторая категория, команда поиска Memcached:
В-третьих, статистические команды Memcached:
Используйте ссылку на образец кода:
Все конкретные методы использования здесь не перечислены, но могут быть воспроизведены в соответствии с приведенной выше таблицей методов и ссылочными примерами.
По умолчанию PHP использует режим файла для хранения сеанса, и производительность ввода-вывода на диске, безусловно, не так высока, как при доступе к памяти. Таким образом, использование Memcache для хранения сеансов значительно ускоряет скорость чтения и записи, а memcached может эффективно решить проблему совместного использования сеансов в нескольких кластерах серверов. После настройки сервера memcached мы изменяем код файла конфигурации php.ini:
session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211"
У апачей. файл htaccess также можно разместить в каталоге веб – сайта:
php_value session.save_handler "memcache" php_value session.save_path "tcp://127.0.0.1:11211"
Напишите следующие две строки при выполнении PHP-скрипта:
ini_set("session.save_handler","memcache");
ini_set("session.save_path","tcp://127.0.0.1:11211");
Вы можете использовать несколько серверов memcached отдельно и с дополнительными параметрами: постоянный, вес, время ожидания, retry_interval и т.д. Например:
$session_save_path = "tcp://:11211?persistent=1&weight=1&timeout=1&retry_interval=15,udp:// :11211";
Если вы хотите использовать поддержку UDP, вам необходимо убедиться, что ваш сервер memcached включен и что веб-сервер правильно подключается к порту сервера memcached. После перезапуска Apache Memcache будет использоваться для хранения сеанса PHP. Тестовые примеры:
";
echo session_id();
?>
Чтобы проверить, успешно ли сохранен Memcache, соответствующие данные извлекаются по идентификатору сеанса:
$m = memcache_connect('localhost',11211);
echo $m->get("13765595df9dsa8f9dsa8fa9sf8saf865");
Результаты заключаются в следующем:
17559898989
Если memcached используется в качестве хранилища сеансов, убедитесь, что служба memcached работает должным образом, иначе функции, связанные с сеансами, не будут работать, поэтому обработка PHP будет иметь уровень внешней зависимости. Поскольку memcached использует память, при большом количестве пользователей это может привести к проблеме продолжительности сеанса из-за нехватки памяти. Фактическое время сбоя сеанса меньше установленного времени сбоя (определяется механизмом обработки memcached, когда памяти недостаточно).
Memcache может быть расширен для изучения большого объема контента, поскольку для сортировки много места, вот только список часто встречающихся тестовых точек знаний, связанных с Memcache. Дополнительные тестовые точки: (1) Каков рабочий процесс Memcache? (2) Как Memcache обеспечивает распространение? (3) Каковы распределенные алгоритмы Memcache? (4) Каковы технические ограничения использования Memcache? (5) Каковы сходства и различия между Memcache и Redis?
Более релевантные знания для интервью можно прочитать Тестовая книга для интервью с PHP-программистом 。
Примечание: Memcache и Redis (2) будут обновлены в среду (2019.2-20). Выше приведены выдержки из Интервью с PHP-программистом, Написанного в Тестовой книге Книги, книга была продана в Тяньмао, Цзиндуне, Дангданге и других платформах электронной коммерции.
Дополнительные знания о собеседовании и экзаменационные вопросы, связанные с PHP, могут быть связаны с приобретением общедоступного номера: Библиотека программирования Ryueyi
Любые вопросы или предложения в этой статье можно оставить в сообщении, я буду продолжать совершенствовать стремление к конечному, спасибо за вашу поддержку.