Redis®*: Verwendung mit Ruby
Wie Sie Redis mit Ruby verbinden
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Redis Cloud-Lösung mit zahlreichen Vorteilen, darunter:
Redis CommanderWeb-Oberfläche inklusive.- Unbegrenzte Nachrichtengröße und Übertragungen.
- Updates ganz einfach per Klick.
- Optimale Performance und starke Sicherheit durch eine private, dedizierte Infrastruktur.
Sparen Sie Zeit und vereinfachen Sie Ihren Alltag: Es dauert nur 5 Minuten, um die Redis Cloud Hosting-Lösung von Stackhero auszuprobieren!
Redis, was 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 Vielzahl von Datenstrukturen wie Strings, Hashes, Listen, Sets und Sorted Sets, um nur einige zu nennen. Dank seiner schnellen Operationen und der Fähigkeit, große Datenmengen zu verarbeiten, ist Redis eine beliebte Wahl für Caching, Echtzeit-Analysen, Messaging und viele weitere Anwendungsfälle.
Redis lässt sich nahtlos mit Ruby und Ruby on Rails integrieren, um Leistung, Skalierbarkeit und Flexibilität zu verbessern. Durch den Einsatz von Redis können Ruby-Entwickler verschiedene Funktionen wie Caching, Sitzungsverwaltung, Echtzeit-Datenverarbeitung und Hintergrund-Job-Processing implementieren.
Hier sind einige gängige Einsatzmöglichkeiten von Redis mit Ruby und Ruby on Rails:
- Caching: Redis kann als Cache-Store in Rails-Anwendungen verwendet werden, um Antwortzeiten zu beschleunigen und die Last auf der Datenbank zu reduzieren.
- Hintergrund-Job-Processing: Redis dient als Backend für beliebte Bibliotheken zur Verarbeitung von Hintergrundjobs wie Sidekiq und Resque und verbessert so die Performance und Zuverlässigkeit von Hintergrundaufgaben in Rails-Anwendungen.
- Echtzeit-Funktionen: Die Pub/Sub-Funktionalität von Redis ermöglicht es Rails-Anwendungen, Echtzeit-Features wie Benachrichtigungen, Chat-Systeme und Echtzeit-Analysen zu implementieren, indem ein schneller und effizienter Nachrichtenaustausch zwischen verschiedenen Anwendungskomponenten ermöglicht wird.
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 Ihre eigene Domain und profitieren Sie von der automatischen Konfiguration von HTTPS-Zertifikaten für erhöhte Sicherheit.
- Genießen Sie sorgenfreie Nutzung dank automatischer Backups, One-Click-Updates sowie einer einfachen, transparenten und vorhersehbaren Preisgestaltung.
- Profitieren Sie von optimaler Performance und starker Sicherheit durch eine private, dedizierte Infrastruktur.
Sparen Sie Zeit und vereinfachen Sie Ihren Alltag: Es dauert nur 5 Minuten, um die Ruby Cloud Hosting Lösung von Stackhero auszuprobieren.
Redis als Cache-System für Ruby on Rails konfigurieren
Um loszulegen, sollten Sie das "redis"-Gem installieren:
bundle add redis
Anschließend können Sie die Datei config/environments/production.rb bearbeiten und folgende Zeile hinzufügen:
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
Definieren Sie abschließend die Umgebungsvariable REDIS_URL. Sie können diese URL verwenden und einfach <yourPassword> und <XXXXXX> durch Ihre Daten ersetzen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Weitere Informationen zur Konfiguration von Redis als Cache-System für Ruby on Rails finden Sie in der offiziellen Rails-Dokumentation hier.
Redis mit Sidekiq konfigurieren
Sidekiq verwendet automatisch den Redis-Server, der in der Umgebungsvariable REDIS_URL definiert ist.
Sie können die Umgebungsvariable REDIS_URL wie folgt setzen, indem Sie <password> und <XXXXXX> durch Ihre Daten ersetzen:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Standardmäßig ist Sidekiq so konfiguriert, dass bei Netzwerkstörungen keine Toleranz besteht. Um dies zu verbessern, empfehlen wir, die Sidekiq-Client-Konfiguration in config/initializers/sidekiq.rb anzupassen, 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 Versuche zur Wiederverbindung, alle 0,5 Sekunden (insgesamt 120 Sekunden/2 Minuten), bevor ein Fehler ausgelöst wird
}
end
Diese Konfiguration stellt sicher, dass der Client bei Nichtverfügbarkeit Ihres Redis-Servers für 2 Minuten Wiederverbindungsversuche unternimmt, bevor ein Fehler gemeldet wird. So hat der Redis-Server beispielsweise Zeit, neu zu starten. Je nach Nutzung von Sidekiq können Sie diese Einstellung an Ihre spezifischen Anforderungen anpassen.
Weitere Informationen zu Sidekiq und Redis finden Sie in der offiziellen Dokumentation hier.
Redis mit Resque konfigurieren
Resque verwendet automatisch den Redis-Server, der in der Umgebungsvariable REDIS_URL definiert ist.
Sie können die Umgebungsvariable REDIS_URL wie folgt setzen, indem Sie <yourPassword> und <XXXXXX> durch Ihre Daten ersetzen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Weitere Informationen zu Resque und Redis finden Sie in der offiziellen Dokumentation hier.