Redis yra atvirojo kodo, operatyviojoje atmintyje veikianti duomenų saugykla. Ji pasižymi itin didele sparta ir dažnai naudojama kaip cache, duomenų bazė arba pranešimų tarpininkas. Redis gali gerokai pagerinti aplikacijų našumą, nes duomenys saugomi RAM atmintyje, todėl juos galima pasiekti daug greičiau nei naudojant tradicines duomenų bazes.
Redis dažnai naudojamas svetainių duomenims kešuoti, sesijoms valdyti arba foninėms užduotims eilėje saugoti šiuolaikinėse web aplikacijose. Redis palaiko įvairius duomenų tipus, įskaitant tekstines reikšmes, hash, sąrašus, rinkinius ir kitus. Prireikus duomenys taip pat gali būti išsaugomi diske.
Jei Ubuntu ar Debian serveryje naudojate didelio našumo aplikaciją, Redis gali padėti sumažinti užklausų delsą ir pagrindinės duomenų bazės apkrovą.
Reikalavimai
Prieš diegiant Redis reikėtų atkreipti dėmesį į kelis pagrindinius reikalavimus:
Root arba sudo prieiga – norint diegti paketus ir valdyti sistemos paslaugas, reikalingos administratoriaus teisės.
Atnaujinta sistema – Ubuntu arba Debian sistema turėtų būti atnaujinta, kad būtų išvengta suderinamumo problemų su priklausomybėmis.
Norėdami atnaujinti sistemą, paleiskite:
sudo apt update -y && sudo apt upgrade -y
Minimalūs sistemos reikalavimai
CPU: vieno branduolio procesorius. Daugumą operacijų Redis vykdo viena gija.
RAM: bent 256 MB, tačiau ne vien testavimui rekomenduojama turėti 1 GB ar daugiau.
Disko vieta: pačiai Redis programinei įrangai reikia bent 50 MB, tačiau daugiau vietos gali prireikti priklausomai nuo diske saugomų duomenų kiekio.
Redis yra lengva sistema, tačiau jos našumas labai priklauso nuo turimos RAM atminties, nes didžioji dalis operacijų atliekama atmintyje.
Diegimas
1. Atnaujinkite sistemą
Jei sistemos dar neatnaujinote, paleiskite šią komandą. Jei sistema jau atnaujinta, pereikite prie kito žingsnio:
sudo apt update && sudo apt upgrade -y
2. Įdiekite Redis
Ši komanda įdiegs Redis paslaugą ir jai reikalingas priklausomybes:
sudo apt install redis-server -y
3. Patikrinkite, ar Redis veikia
Paleiskite šią komandą:
sudo systemctl status redis
Jei Redis veikia tinkamai, būsena turėtų būti rodoma kaip "active (running)".
Jei Redis nepasileido, paleiskite jį šia komanda:
sudo systemctl start redis
Norėdami, kad Redis būtų automatiškai paleidžiamas kartu su sistema, naudokite:
sudo systemctl enable redis-server
4. Patikrinkite Redis veikimą
Naudodami Redis CLI išsiųskite paprastą ping užklausą:
redis-cli ping
Jei Redis veikia ir atsako tinkamai, turėtumėte gauti atsakymą PONG.
Redis saugumo nustatymai ir konfigūravimas
1. Leiskite prisijungti tik lokaliai
Pagal numatytuosius nustatymus Redis klausosi tik 127.0.0.1 (localhost) adreso. Tai galite patikrinti atidarę konfigūracijos failą:
sudo nano /etc/redis/redis.conf
Suraskite:
bind 127.0.0.1 -::1
Jei nurodyta 0.0.0.0, pakeiskite ją į 127.0.0.1, nebent jums iš tikrųjų reikalinga nuotolinė prieiga.
Norėdami greitai rasti reikiamą tekstą faile, paspauskite Ctrl + W ir įveskite ieškomą frazę.
Jei Redis turi būti pasiekiamas per kelis tinklo adresus, atskirkite juos tarpais, kaip šiame pavyzdyje:
bind 127.0.0.1 167.231.232.71 162.54.23.1
2. Nustatykite patikimą Redis slaptažodį
Tame pačiame redis.conf faile suraskite šią eilutę:
# requirepass foobared
Pašalinkite komentaro simbolį ir įrašykite patikimą slaptažodį:
requirepass yourStrongPasswordHere
Išsaugokite pakeitimus ir uždarykite failą naudodami Ctrl+X, tada perkraukite Redis:
sudo systemctl restart redis
Norėdami patikrinti slaptažodį, paleiskite:
redis-cli
Tada įveskite:
127.0.0.1:6379> auth yourStrongPasswordHere
Turėtumėte gauti atsakymą:
OK
Norėdami patikrinti, ar Redis veikia tinkamai, įrašykite testinę reikšmę:
set test "Test Redis"
Gavę atsakymą OK, patikrinkite išsaugotą reikšmę:
get test
Turėtumėte matyti:
Test Redis
3. Išjunkite arba pervadinkite pavojingas komandas
Redis turi kelias komandas, kurios gali pakeisti arba pašalinti duomenis. Jos naudingos administravimui, tačiau neautorizuotas naudotojas gali jomis pasinaudoti ir sukelti rimtų problemų.
Pavyzdžiui:
FLUSHALL – pašalina visus raktus ir duomenis visoje Redis instancijoje.
FLUSHDB – pašalina visus duomenis iš šiuo metu pasirinktos duomenų bazės.
SHUTDOWN – išjungia Redis serverį.
DEL – pašalina vieną arba kelis raktus iš dabartinės duomenų bazės.
RENAME – pervadina raktą pasirinktoje duomenų bazėje.
SAVE – išsaugo duomenų rinkinį serverio diske ir vykdymo metu blokuoja kitas operacijas.
Norėdami šias komandas išjungti arba pervadinti, atidarykite redis.conf failą:
sudo nano /etc/redis/redis.conf
Suraskite skiltį “###SECURITY###” ir parametrą “rename-command”.
Pavyzdžiui, pervadinkime komandą “FLUSHALL”:
rename-command FLUSHALL IDOFLUSH
Taip komanda “FLUSHALL” bus pervadinta į “IDOFLUSH”, tačiau jos funkcionalumas išliks toks pats.
Dabar išjunkime komandą “SHUTDOWN”:
rename-command SHUTDOWN “”
Išsaugokite failą naudodami CTRL + X ir perkraukite Redis:
sudo systemctl restart redis
Prisijunkite prie Redis naudodami komandą “redis-cli” ir patikrinkite atliktus pakeitimus.
Redis naudojimas su WordPress, PrestaShop ir OpenCart
1. Įdiekite PHP Redis plėtinį
sudo apt install php-redis -y
Tada perkraukite PHP arba naudojamą web serverį. Jei naudojate Apache:
sudo systemctl restart apache2
2. Redis įjungimas WordPress
Įdiekite Redis kešavimo papildinį, pavyzdžiui, “Redis Object Cache”.
Į
wp-config.phppridėkite:
define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PORT', 6379); define('WP_REDIS_PASSWORD', 'yourStrongPasswordHere');Aktyvuokite papildinį ir paspauskite “Enable Object Cache”.
3. Redis įjungimas PrestaShop
Naudokite PrestaShop modulį, pavyzdžiui, "Redis Cache" arba "Page Cache Ultimate".
Modulio nustatymuose nurodykite Redis serverio parametrus:
Host: 127.0.0.1 Port: 6379 Password: yourStrongPasswordHere
4. Redis įjungimas OpenCart
Pakeiskite konfigūraciją taip, kad sesijoms būtų naudojamas Redis. Į
config.phpiradmin/config.phppridėkite:
ini_set('session.save_handler', 'redis'); ini_set('session.save_path', 'tcp://127.0.0.1:6379?auth=yourStrongPasswordHere');