Използване на Redis като уеб приложение
"Redis" е система за съхранение на данни в кеш паметта, поддържаща различни видове данни - списъци, низове, асоциативни масиви и т.н. Той може да подобри производителността на сайтове, работещи с бази данни, като кешира информацията, върната от базите данни, директно в паметта на сървъра по модела ключ-стойност. Тъй като предоставя по-бърз достъп до често използвани данни, Redis може да повлияе положително на времето за зареждане на Вашия сайт или приложение. Повече информация за Redis е налична в официалната документация.
Важно: Ако нямате раздел "Уеб приложения" във Вашия Контролен панел, тогава инструкциите в тази статия не са валидни за Вашия акаунт и сървър. Можете да се свържете с нашия екип за повече информация и съдействие.
В тази статия ще покажем как да настроите Redis като WebApps проект и да го използвате в няколко стъпки:
- Инсталиране на Redis чрез SSH и sureapp CLI инструмента или хостинг Контролния панел.
- Включване на поддръжка за Redis за PHP версията на Вашия сайт.
- Активиране на Redis кеширане във Вашето приложение или сайт
След като инсталирате Redis, ще можете да го достъпвате чрез сокет на "/home/example/private/redis/redis.sock" във Вашия сайт или приложение. Не забравяйте да заместите "example" с потребителското име на Вашия хостинг акаунт.
Проверка за наличие на Redis
Redis е наличен по подразбиране за някои хостинг планове. Можете да проверите дали е наличен за Вашия акаунт, изпълнявайки следната команда, след като се свържете с Вашия акаунт чрез SSH:
redis-cli ping && echo "Redis is available!"
Ако Redis е наличен по подразбиране за Вашия акаунт, ще се покаже съобщение "Redis is available!". Redis работи локално на сървъра (с IP адрес 127.0.0.1) на порта по подразбиране за Redis (6379).
Можете да инсталирате Redis на Вашия акаунт като WebApps проект чрез SSH, следвайте тези стъпки:
- Установете SSH връзка с Вашия акаунт.
- Създайте директорията (/home/$USER/private/redis) и конфигурационен файл (/home/$USER/private/redis/redis.conf) за Redis. Можете да направите това със следния блок код:
sureapp_project="redis"
redis_dir="/home/$USER/private/redis"
mkdir -pv "$redis_dir"
cat <<REDIS_CONF > $redis_dir/redis.conf
unixsocket $redis_dir/redis.sock
unixsocketperm 700
port 0
daemonize no
stop-writes-on-bgsave-error no
rdbcompression yes
maxmemory 64M
# how redis will evict old objects - least recently used
maxmemory-policy allkeys-lru
REDIS_CONF
- Създайте WebApps проект за Redis:
sureapp project create \
--engine "custom" \
--engine-version "-" \
--release-dir "$redis_dir" \
--start-cmd "/usr/bin/redis-server $redis_dir/redis.conf" \
"$sureapp_project"
- Активирайте проекта:
sureapp service manage --enable "$sureapp_project"
Можете да проверите дали успешно сте активирали Redis и дали той работи, използвайки следната команда:
redis-cli -s "$redis_dir/redis.sock" ping
След изпълнение на командата, трябва да получите резултат "PONG", който индикира, че Redis работи успешно.
Можете да инсталирате Redis като WebApps проект, използвайки Вашия Контролен панел > раздел "Уеб приложения".
- Влезте във Вашия хостинг Контролен панел > раздел "Файлове".
- Отидете в директория "Private" ("Лични файлове") и създайте нова директория за Вашия проект (напр. "/home/example/private/redis", като заместите "example" с потребителско име на Вашия хостинг акаунт).
- Влезте в новосъздадената директория и създайте нов файл с име "redis.conf" със следното съдържание:
unixsocket /home/example/private/redis/redis.sock
unixsocketperm 700
port 0
daemonize no
stop-writes-on-bgsave-error no
rdbcompression yes
maxmemory 64M
# how redis will evict old objects - least recently used
maxmemory-policy allkeys-lru
Важно: Заместете "example" с потребителското име на Вашия хостинг акаунт и "/private/redis/" с директорията, която сте подготвили за Redis.
- Отидете в раздел "Уеб приложения" на хостинг Контролния панел.
- Използвайте следните данни във формата за създаване на ново приложение:
Платформа - изберете "Custom".
Име - изберете име за Вашето приложение (напр. "redis").
Домейн - от падащото меню изберете домейн.
Поддомейн - от падащото меню изберете поддомейн.
Уеб път за достъп - въведете несъществуваща директория/път (напр. "/izmislena-papka/redis/"). Ако има същестуващ файл или директория със същото име, те може да спрат да работят.
Директория на приложението - въведете директорията, в която ще инсталирате Redis (напр. "/private/redis").
Команда за стартиране - въведете "/usr/bin/redis-server /home/example/private/redis/redis.conf", като трябва да заместите "example" с потребителското име на Вашия хостинг акаунт, а "/private/redis/" с директорията, която сте избрали за приложението.

- Натиснете бутона "Създай".
- Включете приложението, като използвате бутона с иконка на червен кръг (
).

След успешното инсталиране на Redis като уеб приложение, трябва да добавите поддръжка за него в PHP скриптовете на сайта Ви. За да направите това, трябва да отидете в раздел "PHP настройки" на Вашия хостинг Контролен панел и натиснете бутона "Промени" за сайта Ви. Така ще отидете в страницата за управление на неговите PHP настройки, където трябва да сложите отметка за разширението "redis" и да натиснете бутона "Запази".

Последната стъпка в използването на Redis е да го активирате във Вашето приложение или сайт, като окажете пътя към Redis сокета в настройките за Redis на приложението, което използвате. Ако Вашето потребителско име е "example" и сте инсталирали Redis в директория "/private/redis/" на Вашия акаунт, тогава сокета за Redis ще бъде:
/home/example/private/redis/redis.sock
Детайлни инструкции за активиране на Redis за различните приложения и скриптове трябва да бъдат достъпни в тяхната онлайн документация. В противен случай можете да се допитате до разработчиците на тези приложения и скриптове за помощ с активиране на Redis.
За използване на Redis в WordPress, трябва да инсталирате разширение за WordPress, което има поддръжка за Redis. За пример ще използваме приложението "LiteSpeed Cache" за WordPress. След като го инсталирате на Вашия WordPress сайт, трябва да :
- Влезете в таблото за управление на WordPress като администратор.
- Отворите екрана "Cache" на разширението "LiteSpeed Cache".
- Отидете в таб "[6] Object".
- Включите "Object Cache" (кеширане на обекти).
- Попълните сокета на Вашата Redis инсталация (напр. "/home/example/private/redis/redis.sock").
- Запазите промените с натискане на бутона "Save Changes".

След запазването на промените, трябва информацията в "Status" да индикира, че Redis разширението е включено ("Redis Extension: Enabled") и тестовата връзка е преминала успешно ("Connection Test: Passed").
Друг пример за приложение за WordPress, което поддържа Redis, е "Redis Object Cache". За настройка на приложението трябва само да добавите следните редове във wp-config.php файла на Вашата WordPress инсталация, които указват пътя до Redis сокета на Вашето приложение (напр. /home/example/private/redis/redis.sock):
define( 'WP_REDIS_SCHEME', 'unix' );
define( 'WP_REDIS_PATH', '/home/example/private/redis/redis.sock' );
След запазване на промените в конфигурационния файл, в екрана на разширението в административното табло за управление на Вашата WordPress инсталация ще можете да активирате Redis кеширането:

За да включите поддръжка на Redis за кеширане в Joomla версия 5, следвайте тези лесни стъпки:
- Влезте в таблото за управление на Joomla като администратор.
- Отворете екрана с глобалните настройки на Joomla ("System" > "Setup" > "Global Configuration").
- Отидете в таб "System".
- В раздел "Cache":
- изберете "ON - Conservative caching" или "ON - Progressive caching" за "System Cache",
- изберете "Redis" за "Cache Handler" и
- попълнете сокета на Вашата Redis инсталация (напр. "/home/example/private/redis/redis.sock") в полето "Redis Server Host/Sock".
- Натиснете бутона "Save" или "Save & Close", за да запазите настройките.
