Unterabschnitte

Das Redis-Paket

Die Einleitung

Der Name `Redis' leitet sich aus dem englischen Begriff `Remote Dictionary Server' her, welcher schon darauf hindeutet wozu dieser Server hauptsächlich verwendet wird. Die einfache Struktur der Datenbank eignet sich weniger für komplexe Datenstrukturen, welche überwiegend in der originären Datenbank selbst abgebildet werden sollten, als um einfache Datenstrukturen auf die extrem schnell zugegriffen werden soll. `Redis' ist schneller als relationale Datenbanken, wie z.B. MySQL. Bis zu ca. 100.000 Schreibvorgänge und ca. 80.000 Lesevorgänge pro Sekunde sind dabei auf herkömmlicher Hardware durchaus möglich.
`Redis' bietet darüber hinaus Persistenz durch automatisiertes regelmäßiges Abspeichern oder per Protokolldatei, wodurch bei entsprechender Konfiguration auch eine ACID-konforme Dauerhaftigkeit erreichbar ist. (Siehe http://redis.io/topics/persistence)

Die Funktionen

Das Redis-Paket besteht aus folgenden Komponenten:

* Redis in-Memory Datenbank - Programmdateien für den Betrieb des Datenbank-Servers. (http://redis.io/)

Die Voraussetzungen

Dieses Paket benötigt keine weiteren Pakete um funktionieren zu können.

Die Installation

Das Redis-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/redis.

Die Parameter

START_REDIS

Für die Aktivierung des Redis-Paketes muss diese Variable lediglich auf den Wert `yes' gestellt werden. Die Einstellung 'no' deaktiviert das Redis-Paket.

Gültige Werte: yes, no

Standardeinstellung: START_REDIS='no'

REDIS_LISTEN_ADDRESSES (Optionaler Parameter)

Über diesen Parameter wird die IP-Adresse bzw. werden die IP-Adressen festgelegt, auf welchen der Redis-Server Verbindungsanfragen entgegen nehmen soll.

Hinweis
Standardmäßig wird nur die IP-Adresse 127.0.0.1 verwendet.


Gültige Werte: IP-Adresse bzw. Adressen

Beispiel: REDIS_LISTEN_ADDRESSES='127.0.0.1 192.168.6.10'

REDIS_DB_PASS (Optionaler Parameter)

Über diesen Parameter kann ein Kennwort für den Zugriff auf die Redis-Datenbank festgelegt werden.

Hinweis
Standardmäßig wird kein Kennwort für den Datenbankzugriff gesetzt.


Gültige Werte: Kennwort

Beispiel: REDIS_DB_PASS='GeheimesPW'

REDIS_MAX_CLIENTS (Optionaler Parameter)

Über diesen Parameter kann die maximale Anzahl gleichzeitiger Verbindungen zum Server festgelegt werden. Wird der gesetzte Grenzwert erreicht, lehnt der Redis-Server alle neuen Verbindungsanfragen mit der Fehlermeldung `max number of clients reached' ab.

Gültige Werte: Zahl

Standardeinstellung: REDIS_MAX_CLIENTS='100'

REDIS_MAX_MEMORY (Optionaler Parameter)

Über diesen Parameter kann der vom Redis-Server maximal nutzbare Arbeitsspeicher festgelegt werden. Wenn der gesetzte Grenzwert erreicht wird, versucht Redis, gemäß den eingestellten Vorgaben, Schlüssel aus der Datenbank zu entfernen.

Gültige Werte: Speichergröße (zulässige Einheiten: k,KB,m,MB,g,GB)

Standardeinstellung: REDIS_MAX_MEMORY='256MB'

REDIS_SET_OVERCOMMIT_MEMORY (Optionaler Parameter)

Über diesen Parameter kann die Überprüfung und das Setzen des Systemparameters `vm.overcommit_memory` deaktiviert werden, welcher standardmäßig auf den Wert `1' gesetzt wird um eventuellen Problemen bei der Speicherung der Datenbank vorzubeugen.
Weitergehende Informationen findet man hierzu in der Redis FAQ http://redis.io/topics/faq unter dem Punkt ` Background saving is failing with a fork() error under Linux even if I've a lot of free RAM'.

Gültige Werte: yes, no

Standardeinstellung: REDIS_SET_OVERCOMMIT_MEMORY='yes'

REDIS_THP_DISABLED (Optionaler Parameter)

Über diesen Parameter kann der Transparent Hugepage Support (THP) abgeschaltet werden, welcher die Redis-Latenz negativ beeinflussen und zu Problemen bei der Speichernutzung führen kann.

Gültige Werte: yes, no

Standardeinstellung: REDIS_THP_DISABLED='yes'

REDIS_HOUSE_KEEPING_CRON_SCHEDULE (Optionaler Parameter)

Über diesen Parameter wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall das Redis-House-Keeping, z.B. die Konsolidierung der AOF-Datei, durchgeführt werden soll. Die fünf Teilparameter haben dabei folgende Bedeutung:

1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag

D.h. wird dieser Parameter nicht gesetzt, so wird standardmäßig jeden Tag um 02:05h dieser Prozess angestoßen. Wer näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet- Suchmaschine nach 'man' und 'crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: REDIS_HOUSE_KEEPING_CRON_SCHEDULE=

REDIS_LOG_COUNT

Über diesen Parameter wird eingestellt, wie viele Logdateien vorgehalten werden sollen. Wird dieser Wert überschritten, so wird die älteste Logdatei gelöscht.

Gültige Werte: Zahl

Standardeinstellung: REDIS_LOG_COUNT='10'

REDIS_LOG_INTERVAL

Über diesen Parameter wird eingestellt, in welchen Intervallen die Logdateien archiviert werden sollen. Zur Auswahl stehen die Schlüsselwörter `daily' - täglich, `weekly' - wöchentlich und `monthly - monatlich.

Gültige Werte: daily, weekly, monthly

Standardeinstellung: REDIS_LOG_INTERVAL='weekly'

REDIS_LOG_LEVEL (Optionaler Parameter)

Über diesen Parameter wird eingestellt, in welchem Detailgrad Informationen in die Logdatei geschrieben werden sollen. Wird der Parameter nicht gesetzt, so wird standardmäßig `notice' angenommen:

Gültige Werte: debug, verbose, notice, warning

Standardeinstellung: REDIS_LOG_LEVEL=