Введение в Memcache
Что такое Memcache
Memcache-это система распределенного кэша.
Распределенный: Одновременная установка служб Memcache в нескольких операционных системах может обеспечить хороший эффект кластеризации.
Высокая скорость: Все данные в Memcache хранятся в памяти.
Какая польза от Memcache?
При применении Объем трафика Когда он очень велик, объем доступа к базе данных будет очень большим. Появление Memcache может добавить буферный слой между приложением и базой данных. Затем данные, считанные в базе данных ранее, могут быть доступны непосредственно в Memcache для чтения данных во втором чтении, что снижает нагрузку на базу данных.
Как вы понимаете Memcache?
Memcache эквивалентен базе данных, содержащей только одну таблицу. Эта таблица содержит два поля: первичный ключ и значение данных. Ключ используется для обеспечения того, чтобы мы находили достойную уникальность.
Используйте сценарии Memcache
1. Непостоянное хранилище: низкие требования к хранению данных
Если данные будут потеряны, это не окажет слишком большого влияния на систему. Когда система выключена или перезапущена, память будет опустошена, и данные, ранее сохраненные в memcached, также будут опустошены. Таким образом, вы можете использовать Memcache только как кэш, а не как реальную базу данных.
2. Распределенное хранилище: Не подходит для одной машины
Если это автономный компьютер, используйте базу данных напрямую для поиска данных. Memcache потребляет много памяти. Если вы используете Memcache, рекомендуется установить его на другой машине в качестве отдельной системы кэширования. Вместо установки базы данных и Memcache в одной базе данных
3. Хранение ключей/значений: Простой формат, нет поддержки списка, тип данных массива
Значение хранит всю часть данных, поэтому оно больше не может разделять данные по значению.
Установка Memcached
Memcached-это система кэширования архитектуры C/S, которая разделена на установку сервера и установку клиента.
Установка сервера Memcached
Скомпилируйте и установите Libevent Memcached
Если оно скомпилировано и установлено, вы можете указать путь установки программного обеспечения, и процесс установки займет много времени.
В зависимости от управления пакетами для установки apt-get, yum
apt-get install memcached
или
yum install memcached
Запуск сервера Memcached
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root
-d
Процесс опеки -l
IP-адрес -p
Номер порта -m
Выделенный объем памяти -u
Пользователи, запускающие службу
См.: ps -ef | grep memcached
Установка клиента Memcached
Установите Libmemcached
Скомпилируйте и установите
cd libmemcached-1.0.18 ./configure --prefix=/usr/lib/libmemcached meke && make install
Установка расширений memcached для PHP
cd memcached-2.2.0 phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl make && make install
vim /etc/php/php7.0/php-fpm/php.ini // add extension = memcached.so
Использование Memcache в PHP
Часто используемые классы
Системный класс: добавить сервер , добавить серверы, GetStatus, GetVersion
Класс данных: добавить, установить , удалить , очистить, заменить, увеличить, получить
Расширенные классы: установить Мульти, удалить Мульти, получить Мульти, код GetResult, getResultMessage
Добавить сервер
public bool Memcached::addServer ( string $host , int $port [, int $weight = 0 ] )
хост
Имя хоста сервера Memcached. Если имя хоста неверно, код возврата соответствующей операции с данными будет установлен в Memcached:: RES_HOST_LOOKUP_FAILURE.
порт
Номер порта сервера Memcached, обычно 11211.
вес
Вес этого сервера по отношению ко всем серверам в пуле серверов. Этот параметр используется для управления вероятностью выбора сервера во время работы. Это только для параметра согласованного распространения, и это значение обычно устанавливается памятью, выделенной сервером.
набор
public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )
ключ
Имя ключа, используемое для хранения значения.
значение
Сохраненные значения.
срок годности
Время истечения срока действия по умолчанию равно 0. Для получения дополнительной информации, пожалуйста, обратитесь к периоду.
получить
public mixed Memcached::get ( string $key [, callback $cache_cb [, float &$cas_token ]] )
ключ
Ключ элемента для извлечения.
cache_cb
Функция удаления кэша для чтения или NULL.
case_token
Значение тега CAS извлеченного элемента.
Используйте Memcached в проектах
Кэш Мгновенной Генерации
Применимо Подробности новостей Подробности статьи Эта ситуация
Предварительно сгенерированный кэш
Главная В этом случае сценарий синхронизации хорошо генерирует кэш
Постоянный кэш
Обратитесь к О нас Ситуация