Valkey: Iniziare
Guida rapida per iniziare con Valkey
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una soluzione Valkey cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:
- Interfaccia web UI
Redis Commanderinclusa.- Dimensione e trasferimenti di messaggi illimitati.
- Aggiornamenti semplificati con un solo clic.
- Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.
Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione Valkey cloud hosting di Stackhero!
Valkey è un database in-memory potente e incredibilmente veloce, basato su Redis. Quando Redis si è allontanato dal modello open-source, Valkey è emerso dalla comunità e da diverse aziende come un'alternativa open-source robusta. Si integra perfettamente con le librerie Redis, rendendolo un sostituto ideale.
Valkey è versatile e può servire a molteplici scopi: può funzionare come sistema di caching, database chiave/valore, facilitare l'ordinamento dei dati in tempo reale o agire come una coda publish/subscribe simile a un sistema di eventi.
Per aiutarvi a connettervi a un'istanza Valkey, abbiamo preparato alcuni esempi di codice. Sentitevi liberi di esplorarli nel seguente repository Git: https://github.com/stackhero-io/valkeyGettingStarted.
Utilizzare Valkey con Ruby e Ruby on Rails
Configurare Valkey come sistema di cache per Ruby on Rails
Per iniziare, potete installare la gemma redis con questo comando:
bundle add redis
Successivamente, aprite il file config/environments/production.rb e includete questa riga:
config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }
Dovrete quindi impostare la variabile d'ambiente VALKEY_URL. Ecco un esempio di come formattare l'URL con le vostre informazioni:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Per impostazione predefinita, il caching è abilitato solo nell'ambiente di produzione. Se desiderate testare il caching in sviluppo, modificate il file
config/environments/development.rbaggiungendo la configurazione sopra, e impostateconfig.action_controller.perform_caching = trueper abilitare il caching. Un buon modo per verificare che il caching funzioni è avviare una console Rails (usandobin/rails console) e testare la scrittura conRails.cache.write("foo", "bar").
Per ulteriori informazioni dettagliate sulla configurazione di Valkey come sistema di cache per Ruby on Rails, potete consultare la documentazione ufficiale di Rails qui.
Configurare Valkey su Sidekiq
Sidekiq utilizzerà automaticamente il server Valkey configurato nella variabile d'ambiente REDIS_URL.
Potete impostare la variabile d'ambiente REDIS_URL con le vostre informazioni come segue:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Per ulteriori informazioni sull'utilizzo di Sidekiq con Valkey, potete consultare la documentazione ufficiale qui.
Configurare Valkey su Resque
Resque utilizzerà automaticamente il server Valkey definito nella variabile d'ambiente REDIS_URL.
Potete impostare la variabile d'ambiente REDIS_URL con le vostre informazioni come segue:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Per ulteriori informazioni sull'utilizzo di Resque con Valkey, potete consultare la documentazione ufficiale qui.
Gestire le sessioni PHP con Valkey
Potete utilizzare il seguente codice per memorizzare le sessioni PHP su Stackhero per Valkey:
<?php
// Analizzare l'URL Valkey
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// Configurare il gestore delle sessioni
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");
// Avviare la sessione
session_start();
?>
Migliorare la sicurezza di Valkey
Rafforzare la sicurezza della vostra configurazione Valkey è cruciale. Ecco due misure importanti che potete implementare per massimizzare la sicurezza.
Crittografare le comunicazioni con Valkey (TLS)
Per impostazione predefinita, Valkey non crittografa le comunicazioni. Tuttavia, su Stackhero, la crittografia TLS è fornita di default.
Per sfruttare questa funzionalità, configurate semplicemente il vostro client Valkey per utilizzare la crittografia TLS e connettetevi alla vostra istanza utilizzando la porta <PORT_TLS>, invece della porta non crittografata <PORT_CLEAR>.
La buona notizia è che non dovete preoccuparvi di configurazioni aggiuntive, abbiamo preparato tutto per voi.
Proteggere il vostro Valkey dagli attacchi brute force
La vostra istanza Valkey è protetta da una password forte, automaticamente predefinita da Stackhero. Se decidete di cambiarla, assicuratevi che la password sia estremamente complessa.
Valkey è veloce e, purtroppo, non dispone di protezione integrata contro gli attacchi brute force. Un attaccante potrebbe potenzialmente provare fino a 150.000 combinazioni di password al secondo.
Per mitigare questo, le password devono essere di almeno 16 caratteri (4.5231285e+74 possibilità), e per impostazione predefinita, impostiamo una password di 64 caratteri (9.61963e+111 possibilità!).
Per una sicurezza maggiore e per contrastare efficacemente i tentativi di brute force, è consigliabile configurare il firewall di Stackhero (accessibile nella scheda "Firewall") per limitare le connessioni solo ai vostri indirizzi IP. Questo è un passo cruciale che rafforzerà significativamente la vostra sicurezza!