В случае с AOF, Redis ведёт лог операций, которые выполняют клиенты и записывает их в файл (по умолчанию каждую секунду). AOF это аббревиатура от Append Only File, а это означает то, что Redis не изменяет уже записанные данные, а лишь добавляет новые в конец. Благодаря тому, что при использовании AOF, Redis по умолчанию пишет данные на диск каждую секунду, максимум, что вы теряете в случае сбоя при использовании этого режима — это 1 секунда.
Перезагружаем
systemctl restart redis
Если заглянуть в /var/log/redis/redis.log
То можно увидеть два предупреждения WARNING overcommit_memory is set to 0 WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128
Исправим первое
nano /etc/sysctl.conf
вставляем строчку
vm.overcommit_memory = 1
выполняем команду
sysctl vm.overcommit_memory=1
Исправим второе
nano /etc/rc.local
Добавляем строчку
sysctl -w net.core.somaxconn=65535
и заодно выполним ее в консоли
sysctl -w net.core.somaxconn=65535
Перезагружаем и смотрим в /var/log/redis/redis.log что все теперь впорядке
systemctl restart redis
Осталось установить модуль redis для php
Так как для php70 его в портах нет, придеться компилировать самому
cd /tmp
wget https://github.com/phpredis/phpredis/archive/php7.zip
yum install unzip -y
unzip php7.zip
cd phpredis-php7
yum install php70-php-devel m4 autoconf -y
/opt/remi/php70/root/usr/bin/phpize
./configure CFLAGS="-O3"--with-php-config=/opt/remi/php70/root/usr/bin/php-config
make clean all
make test
cp /tmp/phpredis-php7/modules/redis.so /opt/remi/php70/root/lib64/php/modules/
echo extension=redis.so > /etc/opt/remi/php70/php.d/redis.ini
rm -rf /tmp/php7.zip && rm -rf /tmp/phpredis-php7
Рестарт
systemctl restart php70-php-fpm
Проверим
php70 -m | grep -i redis
В ответ redis
Значит модуль стал.
Создаем тестовый файл
nano -w /var/www/test.dev/2.php
connect('localhost:6379');
Проверяем,если ошибка, что класс Redis не существует, не вылетела, то все отлично.
Можно так же запустить бенчмарк, посмотреть как быстро работатет ваш redis
yum -y install mongodb-org
semanage port -a -t mongod_port_t -p tcp 27017
Запустим
systemctl start mongod
Проверим
mongo
> db.version()
> exit
Предупреждение 1 WARNING: Readahead for /var/lib/mongo is set to 4096KB
Предупреждение 2 WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'
Предупреждение 3 WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
Предупреждение 4 WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files.
Сейчас это будем исправлять
nano -w /etc/init.d/mongod
Перед Starting mongod вставляем
iftest-f /sys/kernel/mm/transparent_hugepage/enabled; thenecho never > /sys/kernel/mm/transparent_hugepage/enabled
fiiftest-f /sys/kernel/mm/transparent_hugepage/defrag; thenecho never > /sys/kernel/mm/transparent_hugepage/defrag
fi