Tartalomjegyzék
Redis
- Szerző: Sallai András
- Copyright © 2024, Sallai András
- Szerkesztve: 2024
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
A Redis-ről
A Redis egy kulcs-érték alapú NoSQL adatbázis rendszer.
Docker compose
- docker-compose.yml
version: '3.8' services: redis: image: redis:latest container_name: redis restart: always ports: - '6379:6379' volumes: - ./data:/data environment: - ALLOW_EMPTY_PASSWORD=yes
Csatlakozás:
docker exec -it redis bash
De indíthatjuk a redis-cli parancsot is.
Jelszavak
environment: - REDIS_PASSWORD=titok - REDIS_PORT=6379 - REDIS_DATABASES=16
redis-cli indítás
Indítsuk el konténerben futó redis-cli-t:
docker exec -it redis redis-cli
Ehhez hasonlót kell látni:
$ docker exec -it redis redis-cli 127.0.0.1:6379> ping PONG
redis-cli
Kilépés:
exit
A szerver elérhetőségének tesztelése:
127.0.0.1:6379> ping PONG
Ha meg jön a válasz „PONG” szöveggel, akkor elérhető.
Kulcs lekérdezése:
get nev
Az eredmény: (nil)
Most állítsunk be egy nevet:
set nev Béla
Most kérdezzük le:
get nev
Az eredmény:
"B\xc3\xa9la"
Ha normál karakterként szeretnénk látni, indítsuk így a redis-cli-t:
ridis-cli --raw
Ha még nem létezik
Állítsuk be, ha még nem létezik:
setnx nev "János"
Létezés vizsgálata
exists nev
Törlés
del nev
Számláló
Állítsunk be egy számot:
set counter 1
Kérdezzük le:
get counter
Növeljük az értékét:
incr counter
Növeljük 5-tel az értéket:
incrby counter 5
Lejárat
20 másodperc múlva törlődjön a kulcs-érték:
expire nev 20
Hány másodperc múlva jár le:
ttl nev
Lista
rpush nevLista "Béla" rpush nevLista "Géza"
Lista mérete:
llen nevLista
Lista tartalma 0 indextől az utolsóig:
lrange nevLista 0 -1
A listába balról is tehetünk elemeket:
lpush nevLista "Imre"
Egyszerre több elem:
rpush szamLista 35 22 47 28 rpush nevLista "Feri" "Dani"
Az első elem kivétele:
lpop nevLista
Az utolsó elem kivétele:
rpop nevLista
Több utasítás együtt
127.0.0.1:6379> multi OK 127.0.0.1:6379(TX)> set nev Mari QUEUED 127.0.0.1:6379(TX)> set kor 35 QUEUED 127.0.0.1:6379(TX)> exec OK OK 127.0.0.1:6379>
Függelék
Másik dokcker-compose példa
- docker-compose.yml
version: '3.8' services: cache: image: redis:6.2-alpine container_name: redis restart: always ports: - '6379:6379' command: redis-server --save 20 1 --loglevel warning --requirepass titok volumes: - cache:/data volumes: cache: driver: local