Установка memcache и сервера memcached на Ubuntu

Рассмотрим отличие memcache от memcache

C memcache все просто. Memcache - это расширение для php, которое позволяет работать с memcached сервером.

У memcached есть 2 понятия. Сервер memcached и расширение memcached для php.

Как расширение memcache так и расширение memcached созданы для работы с сервером кеширования memcached. Отличие memcache от memcached только в наборе инструментов для общения с сервером.

Расширение memcache - проще и быстрее, его должно хватать для простых задач, внести в кеш и забрать из кеша.

Расширение memcached - более ресурсозатратный и обладает более расширенным набором инструментов.

В моей конфигурации испольузется php 5.6 и Ubuntu 14.04.

Установка сервера memcached:

sudo apt-get install memcached

Файл конфигураций сервера memcached:

nano /etc/memcached.conf

Если нужно внести изменения в конфигурации.

Старт:

sudo service memcached start

Если сервер не поднялся автоматом, следует его поднять этой командой.

Проверка:

netstat -a | grep 11211

-a - отображение всех соккетов

11211 - порт на котором работает memcache поумолчанию.

Если в консоли находит запись localhost с таким портом, значит сервер поднялся и готов к работе.

memcached netstat

Установка расширения memcache для php5.6:

sudo apt-get install php5.6-memcache

Проверяем в phpinfo():

memcache phpinfo

Проверка в бою:

<?php
if (class_exists('Memcache')) {
    $memcache = new Memcache;
    $connect = @$memcache->connect('localhost');
    if ($connect) {
        $aData = $memcache->get('data');
        echo '<pre>';
        if ($aData) {
            echo '<h2>Данные С КЕША:</h2>';
            print_r($aData);
        } else {
            $aData = array('Тестовые данные');
            echo '<h2>Данные НЕ С КЕША:</h2>';
            print_r($aData);
            $memcache->set('data', $aData, 0, 300);
        }
        $aData = $memcache->get('data');
        if ($aData) {
            echo '<h3>Мемкеш работает</h3>';
        } else {
            echo '<h3>Мемкеш не работает</h3>';
        }
        echo '</pre>';
    }
}
if (!$connect) {
    echo 'Нет мемкеша';
}

Размещаем код в проект и запускаем. Если все получилось, то первое вхождениев код выдаст сообщение "Данные НЕ С КЕША", а второе вхождение даст "Данные С КЕША".

3168 0

Комментарии

Пока нет ни одного отзыва. Оставьте отзыв первым
Только авторизованные пользователи могут оставлять комментарии Вход

Похожие статьи

Ubuntu Apache 2.4 Bad Request Size of a request header field exceeds server limit

Настройка Apache для большого объема Cookie. Разберем ошибку "Bad Request. Your browser sent a request that this server could not understand. Size of a request header field exceeds server limit." и параметры для настройки сервера.