10 июня 2012 г. Как установить Redis и Redis php клиент (Обновлено: Январь 22, 2016)

Redis — это кеш-хранилище данных, в котором данные хранятся в оперативной памяти, что дает возможность очень быстрого доступа к ним. Похож на более известный всем memcached, но в отличии от которого Redis имеет различные структуры хранения данных, а не только "ключ-значение"

ВНИМАНИЕ. Инструкция устарела. Следуйте инструкции на английском

Позволяет хранить не только строки, но и списки, множества, упорядоченные множества и хеш таблицы. Более подробно о Redis можно узнать на официальном сайте Redis. Рекомендую устанавливать Redis из исходного кода. Так как в этом случае вы получите самую свежую стабильную версию.

Устанавливаем Redis

Итак как установить Redis из исходного кода? Смотрим последнюю стабильную версию на странице Redis Download. Скачиваем её и распаковываем:

mkdir /tmp/redis
cd /tmp/redis
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar xzf redis-*
cd redis-*

Далее собираем с помощью утилиты make и устанавливаем:

make
sudo make install clean

Если у вас 64 bit-ая система, то нужно установить libc6-dev-i386, собрать и затем установить. В Ubuntu это можно сделать следующим образом:

sudo apt-get install libc6-dev-i386
make 32bit
sudo make install clean

Создаем конфиг:

sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/redis.conf

Редактируем его:

sudo nano /etc/redis/redis.conf 

Пример минимальной конфигурации:

#запускать как демон в бекграунде
daemonize yes
#задаем порт, по умолчанию 6379
port 6379
#задаем ip интерфейса на котором будет слушаться демон,
#если оставить закоментированным, то будет доступен
#на всех интерфейсах
bind 127.0.0.1
#куда сбрасывать дамп данных
dir /var/opt

По умолчанию redis-server устанавливается в /usr/local/bin/redis-server. Убедится в этом можно при помощи команды whereis:

whereis redis-server
#redis-server: /usr/local/bin/redis-server

Что бы сервер был доступен после запуска системы, можно прописать строку в /etc/rc.local перед "exit 0"

/usr/local/bin/redis-server /etc/redis/redis.conf

Запускаем сервер

sudo redis-server /etc/redis/redis.conf 

И пробуем подключится к нему

redis-cli

Устанавливаем PhpRedis

PhpRedis - PHP extension от Nicolas Favre-Felix, написанный на С, который позволяет обращаться к Redis из php. Почему PhpRedis, ведь есть другие php библиотеки позволяющие обращаться к Redis? Ответ - скорость. Модуль написаный на С будет быстрее библиотеки написаной на php

Нам понадобится php5-dev

В Ubuntu его можно установить так:

apt-get install php5-dev

В CentOS так:

yum install php5-dev

Далее скачиваем, собираем и устанавливаем phpredis

sudo -i
cd /tmp
wget https://github.com/nicolasff/phpredis/zipball/master -O phpredis.zip
unzip phpredis.zip
cd phpredis-*
phpize
./configure
make && make install

Теперь необходимо добавить модуль в конфиг php для Ubuntu с PHP 5.3

sudo touch /etc/php5/conf.d/redis.ini
sudo echo extension=redis.so > /etc/php5/conf.d/redis.ini

для Ubuntu с PHP 5.5

touch /etc/php5/conf.d/redis.ini
touch /etc/php5/mods-available/redis.ini
echo extension=redis.so > /etc/php5/mods-available/redis.ini
ln -s /etc/php5/mods-available/redis.ini /etc/php5/apache2/conf.d
ln -s /etc/php5/mods-available/redis.ini /etc/php5/cli/conf.d

для CentOS

sudo touch /etc/php.d/redis.ini
sudo echo extension=redis.so > /etc/php.d/redis.ini

Проверить работоспособность PhpRedis можно командой, после которой должна появится надпись "OK"

php -r "if (new Redis() == true){ echo \"\r\n OK \r\n\"; }"

Перед использованием PhpRedis в php скриптах, не забудьте перезапустить веб сервер

если это Apache

sudo /etc/init.d/apache2 restart

если nginx

sudo /etc/init.d/nginx restart

Методы ново доступного класса Redis доступны на странице PhpRedis

Полезные ресурсы:

Базы данных