Skip to content

Redis - systemd anpassen

Redis
  • Ich habe auf meinem Datenbank Server immer wieder Probleme mit meiner Redis Replication. Wenn das Updates kommen überschreibt der immer wieder die Datei des systemd Dienstes.

    Unter /etc/systemd/system findet man die Datei redis.service

    Dort gibt es zwei Zeilen, die bei mir Schwierigkeiten bereiten.

    ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
    ReadWriteDirectories=-/var/redis
    

    Diese müssen bei mir so aussehen

    ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --supervised systemd --daemonize no
    ReadWriteDirectories=-/var/run/redis
    

    Wenn man den Original Dienst ändert, ist das keine gute Idee. Beim nächsten Update ist das dann wieder weg 😞

    Ein wenig gegoogelt und mal nachgelesen, wie man das richtig macht. Das läuft eigentlich genauso, wie mit den config Dateien, wo man das so in der Art macht.

    • 10-file1
    • 20-file2
    • usw.

    Ihr kennt das.

    Bei SystemD Diensten legt man ein Verzeichnis an, in meinem Fall

    /etc/systemd/redis.conf
    

    Da hinein kommt das File

    10-startup.conf
    

    Inhalt des Files

    # [Service]
    ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --supervised systemd --daemonize no
    ReadWriteDirectories=-/var/run/redis
    

    Der SystemD Dienst sieht jetzt beim Starten, das diese Datei vorhanden ist und überschreibt dann die Werte entsprechend. Somit startet meine Redis Replication auch, wenn mal wieder ein Update reinkommt.

    Vorsicht. Dieser Beitrag kann Fehler enthalten, ich bin mir nicht 100% sicher, das das so alles passt. Beim nächsten Update werde ich sehen ob alles klappt und diese Zeile hier entfernen.

    Das hier kann man dann natürlich für alle systemd Dienste benutzen.

  • Redis - Keys von einer DB zu einer anderen DB kopieren

    Redis
    1
    0 Stimmen
    1 Beiträge
    113 Aufrufe
    Niemand hat geantwortet
  • Python & Redis-Datenbank

    Verschoben Linux
    3
    0 Stimmen
    3 Beiträge
    115 Aufrufe
    FrankMF

    Heute dann die nächste Herausforderung. Mein JSON soll so aussehen, damit ich das entsprechend erweitern kann.

    Stocks {0: {'stockname': 'Deutsche Telekom Aktie', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 100}, 1: {'stockname': 'Henkel', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 50}}

    Die Daten sollen wie oben schon ausprobiert, in einer Redis Datenbank liegen. So weit auch kein großes Problem. ABER, der Zugriff auf diese Daten war dann meine nächste Hürde 🙂

    Ok, ich habe also mehrere Einträge im JSON File bzw. in der Datenbank. Wie komme ich da nun wieder dran. Ein paar ☕ später dann die Lösung.

    Wie komme ich an den einzelnen Eintrag, also über den Index??

    r1.json().get('stocks', 1)

    Gibt als Ergebnis

    {'stockname': 'Henkel', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 50}

    Ok, das passt schon mal. Somit kann man dann gewohnt auf die einzelnen Elemente zugreifen.

    print("TESTING", testing['stockname'])

    Ausgabe

    TESTING Henkel

    Ok, Teil 1 erledigt. Jetzt habe ich ja irgendwann mehrere Elemente in der Liste und brauch dann den letzten Index , um damit was machen zu können. Also, z.B. durch die Daten zu loopen.

    objkeys = r1.json().objkeys('stocks') print("Objkeys", objkeys)

    Ausgabe

    Objkeys ['0', '1']

    Ok, kommt eine Liste des Index zurück. Damit kann man arbeiten 😉

    Ich hatte dann zum Testen mittels einer while Schleife die Daten geladen, aber jetzt beim Tippen klingelt es und wir machen das schön mit enumerate 😉

    @staticmethod def load(): data = {} for count, value in enumerate(objkeys): testing = r1.json().get('stocks', count) data[count] = { "stockname": testing['stockname'], "wkn1": testing['wkn1'], "wkn2": testing['wkn2'], "quantity": testing['quantity']} return data

    Somit habe ich die Daten aus der Redis Datenbank in einem Objekt und kann damit arbeiten.

  • Redis - Zweite Instanz

    Redis
    1
    0 Stimmen
    1 Beiträge
    220 Aufrufe
    Niemand hat geantwortet
  • Redis Replication über Wireguard

    Redis
    5
    0 Stimmen
    5 Beiträge
    415 Aufrufe
    K

    👍
    spart bischen zeit

  • RedisInsight

    Redis
    1
    0 Stimmen
    1 Beiträge
    180 Aufrufe
    Niemand hat geantwortet
  • Redis Replication

    Angeheftet Verschoben Redis
    4
    1 Stimmen
    4 Beiträge
    450 Aufrufe
    FrankMF

    Um die Verbindung zu testen, kann man folgende Befehle nutzen.

    redis-cli -h 10.1.1.0 -p 6379 -a <PASSWORD>

    und

    telnet 10.1.1.0 6379
  • Redis installieren

    Angeheftet Verschoben Redis
    1
    0 Stimmen
    1 Beiträge
    377 Aufrufe
    Niemand hat geantwortet
  • Redis Datenbank sichern

    Verschoben Redis
    1
    0 Stimmen
    1 Beiträge
    759 Aufrufe
    Niemand hat geantwortet