Redis
Aktiviere Redis für eine App, und sie bekommt ihre eigene logische Datenbank auf dem gemeinsamen Redis des Servers, oder eine eigene dedizierte Instanz, falls nötig. Hier ist genau, was du bekommst, was gesichert wird, und wie du von außen darauf zugreifst.
Was du bekommst
- Redis 7 (redis:7-alpine), standardmäßig auf dem Server geteilt: jede App bekommt ihre eigene logische Datenbanknummer, 0 bis 15, auf derselben Instanz, passwortgeschützt.
- Gib dieser App statt dessen über die Redis-Karte ein eigenes Redis, mit eigenem Speicherlimit, einer Eviction-Policy deiner Wahl (noeviction, allkeys-lru, volatile-lru, allkeys-lfu oder volatile-ttl) und append-only-Persistenz, jede Sekunde synchronisiert. Deine Keys werden beim Wechsel in beide Richtungen übertragen.
- Geplante Off-Site-Backups decken heute Postgres, MySQL und ClickHouse ab; das gemeinsame Redis-Add-on ist nicht Teil dieser Dump-and-Restore-Pipeline. Ein dediziertes Redis hält seine append-only-Datei auf der Festplatte, und das Verschieben einer App auf einen Datenbankserver überträgt sie als Teil dieses Umzugs.
- Der Standby eines Datenbankservers hält eine Live-Kopie des gemeinsamen Redis und übernimmt automatisch, wenn der Primärserver 3 Minuten lang nicht erreichbar ist (Pro und Team). Ein dediziertes Redis pro App startet nach einem Failover leer auf dem Standby, es wird nicht repliziert.
- Keine Point-in-Time-Recovery für Redis, das gibt es nur für Postgres.
Wie du sie hinzufügst
- 1
Redis bei der App-Erstellung aktivieren
Bei New app, oder später unter Edit → Add-ons, Redis aktivieren und deployen. Railyard schreibt REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_PASSWORD und REDIS_DB ein und wählt automatisch eine freie logische Datenbanknummer.
- 2
Oder über die CLI hinzufügen
railyard apps create <name> <git-url> --addons redis macht dasselbe vom Terminal aus.
- 3
Der App eine eigene Instanz geben, wenn sie Isolation braucht
Auf der Redis-Karte setzt Give this app its own Redis ein Speicherlimit und eine Eviction-Policy und kopiert deine Keys; Go back to the shared Redis macht es wieder rückgängig.
Ein Beispiel per Klick
Chatwoot nutzt Postgres für seine Daten und Redis für die Job-Queue von Sidekiq, eine realistische Kombination, wenn du Redis für Background-Jobs statt nur als Cache hinzufügst.
Oder eine eigenständige Instanz deployen deployt eine eigenständige Redis-Instanz ohne alles andere, falls das alles ist, was du brauchst.