Valkey: Erste Schritte
Kurzanleitung für den Einstieg mit Valkey
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Valkey Cloud Lösung, die zahlreiche Vorteile bietet, 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 Valkey Cloud Hosting Lösung von Stackhero auszuprobieren!
Valkey ist eine leistungsstarke und unglaublich schnelle In-Memory-Datenbank, basierend auf Redis. Als Redis sich vom Open-Source-Modell entfernte, entstand Valkey aus der Community und mehreren Unternehmen als robuste Open-Source-Alternative. Es integriert sich nahtlos mit Redis-Bibliotheken und ist somit ein idealer Ersatz.
Valkey ist vielseitig und kann für verschiedene Zwecke eingesetzt werden: Es kann als Caching-System, als Schlüssel/Wert-Datenbank, zur Echtzeit-Datensortierung oder als Publish/Subscribe-Warteschlange ähnlich einem Ereignissystem fungieren.
Um Ihnen bei der Verbindung zu einer Valkey-Instanz zu helfen, haben wir einige Codebeispiele vorbereitet. Sie können diese im folgenden Git-Repository erkunden: https://github.com/stackhero-io/valkeyGettingStarted.
Valkey mit Ruby und Ruby on Rails verwenden
Valkey als Cache-System für Ruby on Rails konfigurieren
Um zu beginnen, können Sie das redis-Gem mit diesem Befehl installieren:
bundle add redis
Öffnen Sie anschließend die Datei config/environments/production.rb und fügen Sie diese Zeile hinzu:
config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }
Sie müssen dann die Umgebungsvariable VALKEY_URL festlegen. Hier ist ein Beispiel, wie Sie die URL mit Ihren Informationen formatieren können:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Standardmäßig ist das Caching nur in der Produktionsumgebung aktiviert. Wenn Sie das Caching in der Entwicklung testen möchten, ändern Sie die Datei
config/environments/development.rb, indem Sie die obige Konfiguration hinzufügen, und setzen Sieconfig.action_controller.perform_caching = true, um das Caching zu aktivieren. Eine gute Möglichkeit, zu überprüfen, ob das Caching funktioniert, besteht darin, eine Rails-Konsole zu starten (mitbin/rails console) und das Schreiben mitRails.cache.write("foo", "bar")zu testen.
Für detailliertere Informationen zur Konfiguration von Valkey als Cache-System für Ruby on Rails können Sie die offizielle Rails-Dokumentation hier konsultieren.
Valkey auf Sidekiq konfigurieren
Sidekiq verwendet automatisch den Valkey-Server, der in der Umgebungsvariable REDIS_URL konfiguriert ist.
Sie können die Umgebungsvariable REDIS_URL mit Ihren Informationen wie folgt festlegen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Für weitere Einblicke in die Verwendung von Sidekiq mit Valkey können Sie die offizielle Dokumentation hier konsultieren.
Valkey auf Resque konfigurieren
Resque verwendet automatisch den Valkey-Server, der in der Umgebungsvariable REDIS_URL definiert ist.
Sie können die Umgebungsvariable REDIS_URL mit Ihren Informationen wie folgt festlegen:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Für zusätzliche Informationen zur Verwendung von Resque mit Valkey können Sie die offizielle Dokumentation hier konsultieren.
PHP-Sitzungen mit Valkey verwalten
Sie können den folgenden Code verwenden, um PHP-Sitzungen auf Stackhero für Valkey zu speichern:
<?php
// Valkey-URL analysieren
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// Sitzungs-Handler konfigurieren
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");
// Sitzung starten
session_start();
?>
Valkey-Sicherheit verbessern
Die Verbesserung der Sicherheit Ihrer Valkey-Konfiguration ist entscheidend. Hier sind zwei wichtige Maßnahmen, die Sie umsetzen können, um die Sicherheit zu maximieren.
Kommunikation mit Valkey verschlüsseln (TLS)
Standardmäßig verschlüsselt Valkey die Kommunikation nicht. Auf Stackhero wird jedoch TLS-Verschlüsselung standardmäßig bereitgestellt.
Um diese Funktion zu nutzen, konfigurieren Sie einfach Ihren Valkey-Client, um TLS-Verschlüsselung zu verwenden, und verbinden Sie sich mit Ihrer Instanz über den Port <PORT_TLS> anstelle des unverschlüsselten <PORT_CLEAR>.
Die gute Nachricht ist, dass Sie sich keine Sorgen über zusätzliche Konfigurationen machen müssen, wir haben alles für Sie vorbereitet.
Ihren Valkey vor Brute-Force-Angriffen schützen
Ihre Valkey-Instanz ist durch ein starkes, automatisch von Stackhero vordefiniertes Passwort geschützt. Wenn Sie es ändern möchten, stellen Sie sicher, dass das Passwort extrem komplex ist.
Valkey ist schnell und verfügt leider nicht über einen integrierten Schutz gegen Brute-Force-Angriffe. Ein Angreifer könnte potenziell bis zu 150.000 Passwortkombinationen pro Sekunde ausprobieren.
Um dies zu mildern, müssen Passwörter mindestens 16 Zeichen lang sein (4.5231285e+74 Möglichkeiten), und standardmäßig setzen wir ein 64-stelliges Passwort (9.61963e+111 Möglichkeiten!).
Für zusätzliche Sicherheit und um Brute-Force-Versuche effektiv zu vereiteln, wird empfohlen, die Firewall von Stackhero (zugänglich im "Firewall"-Tab) so zu konfigurieren, dass Verbindungen nur auf Ihre IP-Adressen beschränkt werden. Dies ist ein entscheidender Schritt, der Ihre Sicherheit erheblich verstärken wird!