Redis®*: Erste Schritte
Kurzanleitung für den Einstieg mit Redis
👋 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 ist eine leistungsstarke und extrem schnelle In-Memory-Datenbank, die mehrere Rollen übernehmen kann. Sie können sie als Cache, als Key-Value-Store, als Engine für Echtzeit-Datenstrukturen oder als Publish/Subscribe- und Event-System verwenden.
Redis ist wieder Open Source: Seit Redis 8 (Mai 2025) ist es unter der GNU AGPLv3-Lizenz verfügbar. Wenn Sie eine Drop-in-Alternative mit permissiver Lizenz (BSD) bevorzugen, ist der Community-getriebene Fork Valkey ebenfalls auf Stackhero verfügbar.
Um Ihnen den Einstieg zu erleichtern, haben wir Codebeispiele bereitgestellt, die zeigen, wie Sie sich mit einer Redis-Instanz verbinden. Sie finden sie in diesem GitHub-Repository: https://github.com/stackhero-io/redisGettingStarted.
Redis mit Ruby und Ruby on Rails verwenden
Redis als Cache-System für Ruby on Rails konfigurieren
Für den Einstieg können Sie das redis-Gem mit folgendem Befehl installieren:
bundle add redis
Anschließend können Sie config/environments/production.rb öffnen und die folgende Zeile hinzufügen:
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
Danach können Sie die Umgebungsvariable REDIS_URL definieren. Hier ist eine Vorlage, die Sie mit Ihren eigenen Angaben anpassen können:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Standardmäßig ist Caching nur in der Produktionsumgebung aktiviert. Wenn Sie Caching während der Entwicklung testen möchten, können Sie auch
config/environments/development.rbaktualisieren. Fügen Sie dieselbe oben gezeigte Konfiguration hinzu und ergänzen Sieconfig.action_controller.perform_caching = true, um Caching zu aktivieren. Eine einfache Möglichkeit zu prüfen, ob Caching funktioniert, besteht darin, eine Rails-Konsole mitbin/rails consolezu starten undRails.cache.write("foo", "bar")auszuprobieren.
Weitere Details zur Verwendung von Redis als Cache-Store in Ruby on Rails finden Sie in der offiziellen Rails-Dokumentation.
Redis für Sidekiq konfigurieren
Sidekiq verwendet automatisch den Redis-Server, der in der Umgebungsvariable REDIS_URL definiert ist.
Sie können REDIS_URL mit Ihren eigenen Verbindungsdaten wie folgt festlegen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Weitere Details zur Verwendung von Sidekiq mit Redis finden Sie in der offiziellen Sidekiq-Dokumentation.
Redis für Resque konfigurieren
Wie Sidekiq verwendet auch Resque den Redis-Server, der in der Umgebungsvariable REDIS_URL definiert ist.
Sie können REDIS_URL mit Ihren eigenen Angaben wie folgt festlegen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Weitere Informationen zur Verwendung von Resque mit Redis finden Sie in der offiziellen Resque-Dokumentation.
PHP-Sessions mit Redis verwalten
Wenn Sie PHP-Sessions auf Stackhero for Redis speichern möchten, können Sie das folgende Beispiel verwenden:
<?php
// Parse Redis URL
$redis_url = parse_url("rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>")
// Configure session handler
ini_set("session.save_handler", "redis")
ini_set("session.save_path", "tls://{$redis_url["host"]}:{$redis_url["port"]}?auth={$redis_url["pass"]}&timeout=5")
// Start the session
session_start()
?>
Redis-Sicherheit verbessern
Es ist wichtig, Ihre Redis-Instanz sicher zu halten, und schon einige einfache Maßnahmen können einen großen Unterschied machen.
Kommunikation mit Redis verschlüsseln (TLS)
Standardmäßig verschlüsselt Redis den Netzwerkverkehr nicht. Auf Stackhero ist die TLS-Verschlüsselung standardmäßig aktiviert.
Um davon zu profitieren, können Sie Ihren Redis-Client so konfigurieren, dass er TLS verwendet und sich über den Port <PORT_TLS> verbindet. <PORT_CLEAR> sollten Sie nur in speziellen Fällen verwenden, in denen unverschlüsselter Datenverkehr sinnvoll ist, während <PORT_TLS> verschlüsselte Kommunikation bereitstellt.
Die gute Nachricht ist, dass auf der Serverseite nichts zusätzlich konfiguriert werden muss. Diesen Teil übernehmen wir bereits für Sie.
Redis vor Brute-Force-Angriffen schützen
Ihre Redis-Instanz ist durch ein Passwort geschützt, und Stackhero generiert standardmäßig automatisch ein starkes Passwort. Wenn Sie es ändern möchten, sollten Sie ein sehr langes und komplexes Passwort wählen.
Redis ist extrem schnell und kann eine sehr hohe Anzahl an Authentifizierungsversuchen verarbeiten. In der Praxis bedeutet das, dass ein Angreifer potenziell bis zu 150,000 Passwortkombinationen pro Sekunde ausprobieren könnte.
Um den Schutz zu verstärken, erzwingen wir eine Mindestpasswortlänge von 16 Zeichen, was ungefähr 4.5231285e+74 möglichen Kombinationen entspricht. Standardmäßig verwendet Stackhero ein Passwort mit 64 Zeichen, was ungefähr 9.61963e+111 möglichen Kombinationen entspricht.
Für noch stärkeren Schutz können Sie außerdem Stackhero-Firewall-Regeln im Tab Firewall konfigurieren, um Verbindungen nur von Ihren eigenen IP-Adressen zuzulassen. Das ist eine der effektivsten Methoden, um Ihre allgemeine Sicherheitslage zu verbessern.