Redis®*: Verwendung mit Ruby
Wie man Redis mit Ruby verbindet
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Redis Cloud Lösung mit zahlreichen Vorteilen, darunter:
Redis CommanderWeb-UI inklusive.- Unbegrenzte Nachrichtengröße und Übertragungen.
- Mühelose Updates mit nur einem Klick.
- Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Redis Cloud Hosting Lösung von Stackhero auszuprobieren!
Redis, das für Remote Dictionary Server steht, ist eine Open-Source-In-Memory-Datenbank, die außergewöhnliche Leistung und Flexibilität bietet.
Oft als NoSQL-Datenbank bezeichnet, unterstützt Redis eine breite Palette von Datenstrukturen wie Strings, Hashes, Listen, Sets und sortierte Sets, unter anderem. Mit seinen Hochgeschwindigkeitsoperationen und der Fähigkeit, große Datenmengen zu verarbeiten, ist Redis eine beliebte Wahl für Caching, Echtzeitanalysen, Messaging und verschiedene andere Anwendungsfälle geworden.
Redis kann nahtlos mit Ruby und Ruby on Rails integriert werden, um Leistung, Skalierbarkeit und Flexibilität zu verbessern. Durch die Nutzung von Redis können Ruby-Entwickler verschiedene Funktionen wie Caching, Sitzungsverwaltung, Echtzeitdatenverarbeitung und Hintergrundjobverarbeitung implementieren, unter anderem.
Hier sind einige gängige Möglichkeiten, wie Redis mit Ruby und Ruby on Rails verwendet wird:
- Caching: Redis kann als Caching-Store in Rails-Anwendungen genutzt werden, um die Antwortzeiten zu beschleunigen und die Datenbanklast zu reduzieren.
- Hintergrundjobverarbeitung: Redis dient als Backend für beliebte Hintergrundjobverarbeitungsbibliotheken wie Sidekiq und Resque, was die Leistung und Zuverlässigkeit von Hintergrundaufgaben in Rails-Anwendungen verbessert.
- Echtzeitfunktionen: Die Pub/Sub-Funktionalität von Redis ermöglicht es Rails-Anwendungen, Echtzeitfunktionen wie Benachrichtigungen, Chatsysteme und Echtzeitanalysen zu implementieren, indem sie eine schnelle und effiziente Nachrichtenübermittlung zwischen verschiedenen Anwendungsbestandteilen erleichtert.
Stackhero bietet eine einsatzbereite Ruby Cloud Lösung, die zahlreiche Vorteile bietet, darunter:
- Deployen Sie Ihre Anwendung in Sekunden mit einem einfachen
git push.- Verwenden Sie Ihren eigenen Domainnamen und profitieren Sie von der automatischen Konfiguration von HTTPS-Zertifikaten für erhöhte Sicherheit.
- Genießen Sie beruhigende automatische Backups, Ein-Klick-Updates und eine einfache, transparente und vorhersehbare Preisgestaltung.
- Erhalten Sie optimale Leistung und robuste Sicherheit dank einer privaten und dedizierten VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Ruby Cloud Hosting Lösung von Stackhero auszuprobieren.
Konfigurieren von Redis als Cache-System für Ruby on Rails
Um zu beginnen, möchten Sie vielleicht das "redis"-Gem installieren:
bundle add redis
Als nächstes können Sie die Datei config/environments/production.rb bearbeiten und diese Zeile hinzufügen:
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
Schließlich definieren Sie die Umgebungsvariable REDIS_URL. Sie können diese URL verwenden und einfach <yourPassword> und <XXXXXX> mit Ihren Informationen ersetzen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Für weitere Informationen zur Konfiguration von Redis als Cache-System für Ruby on Rails können Sie die offizielle Rails-Dokumentation hier konsultieren.
Konfigurieren von Redis mit Sidekiq
Sidekiq wird automatisch den in der Umgebungsvariable REDIS_URL definierten Redis-Server verwenden.
Sie können die Umgebungsvariable REDIS_URL so festlegen, indem Sie <password> und <XXXXXX> mit Ihren Informationen ersetzen:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Standardmäßig ist Sidekiq so konfiguriert, dass es keine Toleranz bei Netzwerkstörungen bietet. Um dies zu verbessern, empfehlen wir, die Sidekiq-Client-Konfiguration in config/initializers/sidekiq.rb zu ändern, um die Stabilität zu erhöhen:
# Datei config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Timeout auf 5 Sekunden setzen
pool_timeout: 5, # Timeout auf 5 Sekunden setzen
reconnect_attempts: Array.new(240, 0.5) # 240 Mal versuchen, sich alle 0,5 Sekunden (insgesamt 120 Sekunden/2 Minuten) erneut zu verbinden, bevor ein Fehler ausgelöst wird
}
end
Diese Konfiguration stellt sicher, dass, wenn Ihr Redis-Server nicht verfügbar wird, der Client 2 Minuten lang Wiederholungsversuche unternimmt, bevor ein Fehler gemeldet wird. Dies gibt dem Redis-Server Zeit zum Neustarten, zum Beispiel. Abhängig von der Nutzung Ihres Sidekiq können Sie diese Einstellung anpassen, um besser auf Ihre spezifischen Anforderungen einzugehen.
Für weitere Informationen zu Sidekiq und Redis können Sie die offizielle Dokumentation hier konsultieren.
Konfigurieren von Redis mit Resque
Resque wird automatisch den in der Umgebungsvariable REDIS_URL definierten Redis-Server verwenden.
Sie können die Umgebungsvariable REDIS_URL so festlegen, indem Sie <yourPassword> und <XXXXXX> mit Ihren Informationen ersetzen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Für weitere Informationen zu Resque und Redis können Sie die offizielle Dokumentation hier konsultieren.