Bei meiner Umorganisation, jedes Forum eine eigene DB, habe ich jetzt das kleine Problem gehabt, das in jeder DB beide Datenbanken drin sind. Unschön, das muss man ändern
Dazu erst mal beide Datenbanken kopiert, da wir hier eine Operation durchführen, die die Daten löscht. Also bitte an Datensicherungen denken!
Wir wir uns zur DB connecten, kennen wir ja mittlerweile, jede DB läuft auf einem eigenen Port. Also müssen wir uns zwei mal connecten.
redis-cli -h 10.10.0.155 -p 6379
redis-cli -h 10.10.0.155 -p 6380
Danach muss man sich so authentifizieren
AUTH <password>
Ein INFO gibt Euch viele Informationen über die DB, hier das Wichtigste
INFO
# Server
redis_version:6.0.16
..
# Clients
connected_clients:3
..
# Keyspace
db0:keys=65947,expires=0,avg_ttl=0
db1:keys=6791,expires=2894,avg_ttl=73471014
Hier kann man jetzt sehen, das in der Redis-DB zwei Datenbanken gespeichert sind. Ich habe mir vorher alles aufgeschrieben, damit ich nicht durcheinander komme.
Und weiter geht's. wir wählen die entsprechende DB aus.
select 0
Danach, löschen wir diese DB.
FLUSHDB
Danach habe ich wieder ein INFO augeführt
..
# Keyspace
db1:keys=6791,expires=2894,avg_ttl=74684837
Man sieht, es ist nur noch eine DB vorhanden. Parrallel dazu habe ich das auf dem Server im Dateiverzeichnis beobachtet.
Vor der Operation
ls -lha
insgesamt 74M
drwxr-x--- 2 redis redis 4,0K 7. Nov 08:15 .
drwxr-xr-x 25 root root 4,0K 5. Nov 15:39 ..
-rw-rw---- 1 redis redis 37M 7. Nov 08:15 dump.rdb
-rw-r----- 1 root root 37M 7. Nov 08:10 dump.rdb_BAK
Danach
ls -lha
insgesamt 42M
drwxr-x--- 2 redis redis 4,0K 7. Nov 08:16 .
drwxr-xr-x 25 root root 4,0K 5. Nov 15:39 ..
-rw-rw---- 1 redis redis 4,8M 7. Nov 08:16 dump.rdb
-rw-r----- 1 root root 37M 7. Nov 08:10 dump.rdb_BAK
Hier kann man jetzt sehen, das die DB Größe auf dem Datenträger sich verändert hat. Es ist nur noch das zweite Forum drin, was deutlich kleiner ist.
Bitte daran denken, alle Änderungen die man macht passieren im Speicher. Die Datenbank wird nur alle paar Minuten auf den Datenträger geschrieben!
Es kann also etwas dauern, bis man das also sieht. Danach das Ganze dann noch für die andere DB durchgeführt. Jetzt habe ich zwei Instanzen der Redis-Datenbank mit jeweils eigener DB. Ich erhoffe mir dadurch einen besseren Überblick, eine bessere Wartung und eine bessere Datensicherung.
Als Nebeneffekt benutzt jetzt jede DB eine eigene CPU, wenn ich die Informationen im Netz richtig verstanden habe. Wobei das in meinem Anwendungsfall keine Bedeutung hat, dafür ist da einfach zu wenig los. Wenn man Foren mit tausenden Benutzern hätte, wäre das vermutlich extrem wichtig.