Difference between revisions of "Redis -NoSQL database"
(→Redis monitorozása) |
|||
Line 117: | Line 117: | ||
:[[File:ClipCapIt-161106-185704.PNG]] | :[[File:ClipCapIt-161106-185704.PNG]] | ||
+ | =Backup és resotre= | ||
+ | |||
+ | |||
+ | =Kliensek= | ||
+ | |||
+ | ==PHP kliens== | ||
+ | A php klienst YUM-al tudjuk feltelepíteni. | ||
+ | <pre> | ||
+ | # yum install php-pecl-redis | ||
+ | </pre> | ||
+ | Ekkor a /etc/php.d/ mappába létrejön a 50-redis.ini fájl, ami include-álja a redis.so: | ||
+ | <pre> | ||
+ | extension = redis.so | ||
+ | </pre> | ||
− | = | + | |
+ | ==Java kliens== |
Revision as of 19:39, 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
Indítsuk el:
# service redis-sentinel start Starting redis-sentinel: [ OK ] # chkconfig redis-sentinel on
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
Backup és resotre
Kliensek
PHP kliens
A php klienst YUM-al tudjuk feltelepíteni.
# yum install php-pecl-redis
Ekkor a /etc/php.d/ mappába létrejön a 50-redis.ini fájl, ami include-álja a redis.so:
extension = redis.so