← Datenbanken
RE

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. 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. 2

    Oder über die CLI hinzufügen

    railyard apps create <name> <git-url> --addons redis macht dasselbe vom Terminal aus.

  3. 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.

Chatwoot deployen Free-Plan, keine Karte.

Oder eine eigenständige Instanz deployen deployt eine eigenständige Redis-Instanz ohne alles andere, falls das alles ist, was du brauchst.

FAQ

Was kostet Redis auf Railyard?
Redis läuft auf dem Server, den du bereits bezahlst; für das gemeinsame Add-on fällt keine zusätzliche Gebühr an. Ein dediziertes Redis läuft weiterhin auf demselben Server, außer du verschiebst es auf einen eigenen Datenbankserver.
Werden Redis-Add-ons gesichert?
Das gemeinsame Redis-Add-on ist nicht Teil der geplanten Datenbank-Backups von Railyard, die decken Postgres, MySQL und ClickHouse ab. Behandle es als Cache oder Queue, die du neu aufbauen kannst, nicht als System of Record, außer du hast der App eine eigene dedizierte Instanz mit aktivierter Persistenz gegeben.
Wie verbinde ich mich von außen, mit redis-cli oder einer GUI?
Öffne Trusted addresses auf der Redis-Karte und erlaube deine IP. Railyard öffnet einen TCP-Proxy für genau diese eine Adresse, und die Karte gibt dir den genauen redis-cli-Befehl zum Einfügen.
Wie migriere ich bestehende Redis-Daten?
Richte deine App unter Resources auf eine externe Redis-URL, während du die Daten überträgst, oder führe redis-cli --rdb gegen die generierte REDIS_URL aus, sobald das Add-on läuft. Move off Heroku Key-Value Store (Redis) führt durch eine vollständige Heroku-Redis-Migration.

Tutorials, die sie nutzen

Allgemeine Dokumentation