Comments 17
Вот еще бы статьо «Основы работы с Redis + php» — было бы совсем хорошо
Зачем? — обычно на такие заявления я отвечаю «курите ман»
Отвечу словами Дерика (известного разработчика ядра РНР, создателя xdebug, дословный перевод):
«если Вы не знаете, как это использовать, то это Вам не надо»
Если Вы считаете, что использование редиса — это круто, то Вы явно ошибаетесь.
Не зная что такое Redis, его приемущества и недостатки нельзя с увереностью сказать нужен он или нет. И дело не в крутости, а в полезности использования
Имеется в виду, что если-бы это вам было действительно нужно, то вы бы взяли и научились пользоваться редисом, а не ждали пока кто-то все по полочкам разложит. Тем более подобных статей в открытом доступе очень много.
Сравните версии Redis и phpredis в репах и в репозиториях.
Версии отличаются на порядок, а значит и стабильность выше и функционал шире.

И как я уже сказал в первых строках статьи, самые лучшие приложения это те которые были скомпилированы на этой машине.
Меня всегда интересовало, а что пользователи делают, пока там что-то собирается. :)

А если серьезно, то не былобы правильней собирать бинарные пакет и уже их устанавливать?
Какой-то сборник вредных советов и нелогичностей по-моему…

нету init.d файла, копирование бинарников ручками, зачем-то выкачиваем базовый конфиг wget-ом, хотя он есть и в zip с исходником, к редису конектимся телнетом — а зачем тогда компилировали и копировали redis-cli?
>к редису конектимся телнетом
это нормальная практика для проверки работоспособности любых серверов.
и к мемкешу, и к редису, и к хандлерсокету я всегда коннекчусь телнтом для проверки работоспособности.
UFO landed and left these words here
>sudo cp src/redis-benchmark /usr/bin/redis
эм, а что мешало сделать sudo make install?

Вот вот… Автор пишет
$ sudo mkdir /usr/bin/redis
$ sudo cp src/redis-benchmark /usr/bin/redis
$ sudo cp src/redis-check-aof /usr/bin/redis
$ sudo cp src/redis-check-dump /usr/bin/redis
$ sudo cp src/redis-cli /usr/bin/redis
$ sudo cp src/redis-server /usr/bin/redis

ок, открываем мейкфайл github.com/antirez/redis/blob/2.4.4/src/Makefile и видим

PREFIX= /usr/local
INSTALL_BIN= $(PREFIX)/bin
INSTALL= cp -p
# ... #
PRGNAME = redis-server
BENCHPRGNAME = redis-benchmark
CLIPRGNAME = redis-cli
CHECKDUMPPRGNAME = redis-check-dump
CHECKAOFPRGNAME = redis-check-aof
# ... #
install: all
	mkdir -p $(INSTALL_BIN)
	$(INSTALL) $(PRGNAME) $(INSTALL_BIN)
	$(INSTALL) $(BENCHPRGNAME) $(INSTALL_BIN)
	$(INSTALL) $(CLIPRGNAME) $(INSTALL_BIN)
	$(INSTALL) $(CHECKDUMPPRGNAME) $(INSTALL_BIN)
	$(INSTALL) $(CHECKAOFPRGNAME) $(INSTALL_BIN)
Автозагрузка

1. Забираем init.d скрипт
Меняем пути:
DAEMON=/usr/bin/redis/redis-server
DAEMON_ARGS=/usr/bin/redis/redis.conf

2. Создаём пользователя
adduser redis

3. Меняем права на файлы
chown -R redis:redis /usr/bin/redis

Готово!
как мне кажется, единственная причина собирать Redis из исходников — ето если вам критически важно получить самую последнюю версию с исправлением какого-то специфического бага. Да, верно, в офф.репах часто далеко не самьіе новьіе версии, но на практике ето лечится подключением неофициальньіх repo (привет centosaltru).
Преимущество от компилирования — тоже довольно субективное. Посмотрите сколько лишних телодвижений нужно вьіполнить — и юзера создать, и init.d-скрипт, и logrotate.d-файл, и самому потом следить за появлением обновленний и все ради каких-то +1.5% производительности. А производительность упрется в I/O ( AOF-лог, сеть) намного раньше того момента когда могут потребоваться ети полтора процента…
Кстати, подскажите, зачем вьі phpredis собираете с CFLAGS="-O3"? Так, «на всякий случай» или оно все же действительно бьістрее работает?

Чего можно добавить к статье:
— последний stable version всегда доступен для скачивания сдесь: wget download.redis.io/redis-stable.tar.gz
— не забудьте установить 'sysctl vm.overcommit_memory=1' (redis кричит об етом в логе)
Only those users with full accounts are able to leave comments. Log in, please.