Difference between revisions of "Redis -NoSQL database"
(→Konfiguráció) |
(→Redis monitorozása) |
||
Line 82: | Line 82: | ||
=Redis monitorozása= | =Redis monitorozása= | ||
− | A redis szerverek monitorozására a redis-sentinel program szolgál, ami feltelepült a redis yum installációjával együtt. | + | A redis szerverek monitorozására a '''redis-sentinel''' program szolgál, ami feltelepült a redis yum installációjával együtt. |
+ | |||
+ | A /etc/redis-sentinel.conf fájlban található alap beállítások megfelelőek. A localhost-on a 6379-es porton fog csatlakozni a redesi szerverhez. | ||
+ | <pre> | ||
+ | sentinel monitor mymaster 127.0.0.1 6379 2 | ||
+ | </pre> | ||
=Webes admin felület (phpRedisAdmin)= | =Webes admin felület (phpRedisAdmin)= |
Revision as of 19:34, 6 November 2016
Contents
Bemutatás
A Radius egy memória alapú adatstruktúra adatbázis. Nagyon sokféle struktúrát támogat, nem csak string-eket. (Set, Map, Hash, List). Az elosztott működést is támogatja, és képes lemezre menteni a memória cache tartalmat.
Telepítés
A redis az EPEL repozitoriban van benne, ezt hozzá kell adjuk a YUM-hoz ha még nem lenne benne:
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
Majd telepítsük föl a redis-t.
# yum install redis
Létrejött fájlok:
- /etc/redis.conf: A redis központi konfigurációs fájlja, mi is ebben fogjuk a szükséges konfigurációt elvégezni.
- /etc/redis-sentinel.conf: A redis központi monitorozó eszköze. Figyeli az esetlegesen fellépő hibákat, és megpróbál automatikusan beavatkozni.
- /var/log/redis: Log fájl helye
- /etc/logrotate.d/redis: A logrotate-thez is hozzáadta a telepítő a szükséges konfigurációt.
- /var/lib/redis: Ide fogja kiírni a redis a memóriában összegyűlt adatbázist a konfigurációban meghatározott gyakorisággal.
Konfiguráció
Hálózati beállítások
Amennyiben lehetséges, a NETWORK állítsuk be, hogy a redis csak a lokális hálózaton hallgatózzon és csak egy porton biztonsági megfontolásból.
bind 127.0.0.1 port 6379
Memória használat
Mivel cache-ként szeretnénk használni a redis-t, és nem adatbázisként, maximálni fogjuk, hogy mennyi memóriát használhat el a rendszermemóriából, mivel nem történik tragédia, ha egy új cache bejegyzés már nem fér bele a memóriába.
http://redis.io/topics/lru-cache
A LIMITS szekcióban állítsuk be, hogy mennyi memóriát használhat maximálisan a redis, és hogy mit tegyen, milyen policy-t alkalmazzon, ha már nincs szabad hely. 6 féle memória kezelési stratégia közül választhatunk. Mi a allkeys-lru stratégiát fogjuk használni, ami egy algoritmus alapján megkeresi a legkevésbé használt kulcsokat, és azokat kitörli. A többi stratégiával ellentétben ez mindig kitöröl egy kulcsot, ha a memória már megtelt és új INSERT kérés érkezik.
maxmemory 5GB maxmemory-policy allkeys-lru
Adatbázis mentése
A memóriában lévő adatbázis mentésével kapcsolatos beállítások a SNAPSHOTTING szekcióban vannak a redis.conf fájlban. A save paraméterrel adhatjuk meg hogy hány másodperc és hány módosítás elteltével írja ki lemezre a memória cache tartalmát a redis:
save 900 1 save 300 10 save 60 10000
Mind két paraméternek teljesülnie kell, tehát az első esetben 900 másodperc és legalább 1 módosítás után lementi a cache-t lemezre.
Az adatbázis fájl neve és helye:
dbfilename dump.rdb dir /var/lib/redis/
Próbáljuk ki. Adjuk ki a redis-cli parancssori eszköznek a save parancsot, ekkor ki kell hogy írja a memória tartalmát a lemezre:
# redis-cli save OK
Láthatjuk, hogy a /var/lib/redis/ mappában a dump.rdb dátuma frissült:
# ll /var/lib/redis -rw-r--r--. 1 redis redis 4894 Nov 6 18:24 dump.rdb
Indítás
# service redis start # chkconfig redis on
Redis monitorozása
A redis szerverek monitorozására a redis-sentinel program szolgál, ami feltelepült a redis yum installációjával együtt.
A /etc/redis-sentinel.conf fájlban található alap beállítások megfelelőek. A localhost-on a 6379-es porton fog csatlakozni a redesi szerverhez.
sentinel monitor mymaster 127.0.0.1 6379 2
Webes admin felület (phpRedisAdmin)
Nagyon sok féle Redis grafikus admin eszköz létezik, ezek között vannak desktop alkalmazások és különféle webes eszközök. Mi egy nagyon egyszerű, és elterjedt webes GUI-t fogunk használni a phpRedisAdmin-t.
A phpRedisAdmin-t git-böl lehet letölteni két lépésben. Lépjünk bele abba appache által látott mappába, ahova a phpRedisAdmin-t telepíteni szeretnénk, majd az alábbi két git repót kell klónozzuk:
# cd /var/www/virtual/admin # git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git # cd phpRedisAdmin # git clone https://github.com/nrk/predis.git vendor
Nevezzük át a sample konfigurációs fájlt:
# cp includes/config.sample.inc.php includes/config.inc.php