Skip to content

Redis - Datenbanken löschen

Redis
  • 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.

  • 0 Stimmen
    2 Beiträge
    295 Aufrufe
    FrankMF
    Ich habe den Sonntag mal genutzt um ein wenig was einzubauen. Einmal habe ich mit datatables.net die Tabelle etwas funktionaler gestaltet. [image: 1736705735786-00a95363-1f41-4bbf-884a-34f21aea81e4-grafik.png] Man kann nun suchen, sortieren und wenn man mehr als 10 Datenpunkte hat, hat die Tabelle auch Pagination. Ein nettes Projekt, macht einiges einfacher Das nächste, ich hatte es im Video ja kurz erwähnt, mir fehlte ja noch die Restore Funktion von Restic. Ok, ist jetzt auch drin. Da die Benutzerverwaltung mittlerweile komplett eingebaut ist, werde ich demnächst meine Test Datenbanken und alles was damit zu tuen hat, aus dem Code entfernen. Brauch ich jetzt nicht mehr. Habe jetzt zwei Benutzer, einen Produktiven und einen zum Testen. Langfristig steht auch noch eine zweite Sprache auf dem Zettel. Aber, dafür muss ich Lust haben, das Thema juckt nicht so richtig
  • Debian Bookworm 12.6 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    142 Aufrufe
    Niemand hat geantwortet
  • Debian 12 - Bluetooth Ausfall nach Stromausfall

    Linux
    1
    0 Stimmen
    1 Beiträge
    136 Aufrufe
    Niemand hat geantwortet
  • Pycharm & Docker

    Verschoben Linux
    1
    +3
    0 Stimmen
    1 Beiträge
    217 Aufrufe
    Niemand hat geantwortet
  • NanoPi R5S - Samba

    NanoPi R5S
    5
    +0
    0 Stimmen
    5 Beiträge
    359 Aufrufe
    FrankMF
    Test zu dem NFS Mount (240GB USB SSD an USB-Port) [frank-ms7c37 nfs]# dd if=/dev/zero of=sd.img bs=1M count=2048 oflag=direct,nonblock 2048+0 Datensätze ein 2048+0 Datensätze aus 2147483648 Bytes (2,1 GB, 2,0 GiB) kopiert, 20,0851 s, 107 MB/s Test zum NAS Mount (Samba) (2TB 2,5Zoll HDD am USB-Port) [frank-ms7c37 NAS]# dd if=/dev/zero of=sd.img bs=1M count=2048 oflag=direct,nonblock 2048+0 Datensätze ein 2048+0 Datensätze aus 2147483648 Bytes (2,1 GB, 2,0 GiB) kopiert, 21,4538 s, 100 MB/s Das für den NAS Mount (Samba) sollte die maximal Schreibgrenze der Festplatte sein. Mehr dürfte da nicht gehen. Das andere könnte an den Adaptern liegen, die ich dafür benutze. Bei mir ist NFS hier aktuell nicht viel schneller, oder ich bin zu doof dafür.
  • ZFS - Wichtige Befehle

    Linux
    2
    0 Stimmen
    2 Beiträge
    689 Aufrufe
    FrankMF
    Unter dem Beitrag sammel ich mal ein paar Beispiele, für mich zum Nachlesen Den Anfang macht die ZFS-Replication Ich hatte Am Anfang ein wenig Verständnisprobleme, bis es klar war, das diese Replication von Pool zu Pool funktioniert. Also brauchen wir zwei vorhandene ZFS-Pools. root@pbs:/mnt/datastore/datapool/test# zfs list NAME USED AVAIL REFER MOUNTPOINT Backup_Home 222G 677G 222G /mnt/datastore/Backup_Home datapool 2.36G 1.75T 2.36G /mnt/datastore/datapool Wir erzeugen ein Dataset im datapool zfs create datapool/docs -o mountpoint=/docs Wir erzeugen eine Datei mit Inhalt echo "version 1" > /docs/data.txt Wir erzeugen einen Snapshot zfs snapshot datapool/docs@today Kontrolle root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 0B - 96K - Wir replizieren den vorhandenen Snapshot zum ZFS-Pool Backup_Home und speichern ihn da im Dataset test. zfs send datapool/docs@today | zfs receive Backup_Home/test Nun befinden sich die Daten in dem anderen ZFS-Pool root@pbs:/mnt/datastore/datapool/test# ls /mnt/datastore/Backup_Home/test/ data.txt Und was mich am meisten interessiert, ist wie man das zu einem anderen Server schickt zfs send datapool/docs@today | ssh otherserver zfs receive backuppool/backup Den Test reiche ich dann später nach. Quelle: https://www.howtoforge.com/tutorial/how-to-use-snapshots-clones-and-replication-in-zfs-on-linux/ ZFS inkrementelle Replication Als, nur die geänderten Daten senden! Wir erzeugen ein paar Dateien root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data1.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data2.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data3.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data4.txt Neuer Snapshot zfs snapshot datapool/docs@17:02 Liste der Snapshots root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 56K - 96K - datapool/docs@17:02 0B - 112K - Wir senden dieinkrementelle Replication zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K cannot receive incremental stream: destination Backup_Home/test has been modified since most recent snapshot Dazu schreibt die Anleitung, die ich unten verlinkt habe, das die Daten verändert wurden. Warum, verstehe ich aktuell noch nicht. Mit -F im send Befehl erzwingt man einen Rollback zum letzten Snapshot. zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive -F Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K Und Kontrolle ls /mnt/datastore/Backup_Home/test/ data1.txt data2.txt data3.txt data4.txt data.txt Quelle: https://klarasystems.com/articles/introduction-to-zfs-replication/
  • NanoPi R2S - OpenWRT

    Verschoben NanoPi R2S
    6
    +5
    0 Stimmen
    6 Beiträge
    631 Aufrufe
    FrankMF
    @thrakath1980 Ich wollte noch auf ein Thema zurück kommen. Das Original OpenWRT auf dem R2S ist ja ein Snapshot. Den kann man ohne Probleme aktualisieren. Unten ist dann ein Haken mit "Keep settings...." Gerade probiert, ging einwandfrei. Netzwerkeinstellungen und Firewall Settings blieben erhalten.
  • ACER und der UEFI-Booteintrag!

    Linux
    1
    0 Stimmen
    1 Beiträge
    222 Aufrufe
    Niemand hat geantwortet