Как установить Redis и Redis php клиент (Обновлено: Январь 22, 2016)
10 июня 2012 г.
•
6 минут чтения
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
Полезные ресурсы:
-
The Little Redis Book, бесплатная книга о Redis, доступная на английском, русском и итальянском языках