Redis®*: Iniziare
Guida rapida per iniziare con Redis
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una soluzione Redis cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:
- Interfaccia web
Redis Commanderinclusa.- Dimensione e trasferimenti di messaggi illimitati.
- Aggiornamenti senza sforzo con un solo clic.
- Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.
Risparmia tempo e semplifica la tua vita: bastano solo 5 minuti per provare la soluzione di hosting Redis cloud di Stackhero!
Redis è un database in-memory potente e incredibilmente veloce che serve a molteplici scopi. Può funzionare come sistema di caching, archivio chiave-valore, facilitare l'ordinamento dei dati in tempo reale e operare come coda di pubblicazione-sottoscrizione e sistema di eventi.
Redis ha cambiato la sua licenza e non è più open source. La comunità, gli sviluppatori e le aziende hanno creato un fork di Redis chiamato Valkey che è un sostituto diretto di Redis. Raccomandiamo di utilizzare Valkey al posto di Redis.
Per aiutarvi a iniziare, abbiamo condiviso alcuni esempi di codice che dimostrano come connettersi a un'istanza Redis. Potete trovare questi esempi nel seguente repository GitHub: https://github.com/stackhero-io/redisGettingStarted.
Utilizzare Redis con Ruby e Ruby on Rails
Configurare Redis come sistema di cache per Ruby on Rails
Per iniziare, potreste voler installare la gem "redis". Potete farlo eseguendo:
bundle add redis
Successivamente, aprite il file config/environments/production.rb e aggiungete la seguente riga:
config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'] }
Infine, definite la variabile d'ambiente REDIS_URL. Ecco un modello che potete utilizzare sostituendo con i vostri dettagli:
REDIS_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 durante lo sviluppo, potete modificare il file
config/environments/development.rb. Aggiungete la configurazione sopra e includeteconfig.action_controller.perform_caching = trueper abilitare il caching. Un modo semplice per verificare che il caching funzioni è avviare una console Rails (conbin/rails console) e testare scrivendoRails.cache.write("foo", "bar").
Per maggiori dettagli sulla configurazione di Redis come sistema di cache per Ruby on Rails, consultate la documentazione ufficiale di Rails.
Configurare Redis per Sidekiq
Sidekiq utilizzerà automaticamente il server Redis specificato nella variabile d'ambiente REDIS_URL.
Potete definire la variabile d'ambiente REDIS_URL con le vostre informazioni specifiche come segue:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Per ulteriori informazioni sull'utilizzo di Sidekiq con Redis, fate riferimento alla documentazione ufficiale di Sidekiq.
Configurare Redis per Resque
Resque, proprio come Sidekiq, utilizzerà il server Redis definito nella variabile d'ambiente REDIS_URL.
Impostate il REDIS_URL con i vostri dettagli come segue:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Per ulteriori informazioni sull'utilizzo di Resque con Redis, visitate la documentazione ufficiale di Resque.
Gestire le sessioni PHP con Redis
Potete utilizzare il seguente codice per memorizzare le sessioni PHP su Stackhero per Redis:
<?php
// Analizzare l'URL di Redis
$redis_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://{$redis_url['host']}:{$redis_url['port']}?auth={$redis_url['pass']}&timeout=5");
// Avviare la sessione
session_start();
?>
Migliorare la sicurezza di Redis
Per garantire che la vostra istanza Redis sia sicura, è fondamentale implementare alcune misure di sicurezza.
Crittografare le comunicazioni con Redis (TLS)
Per impostazione predefinita, Redis non crittografa le comunicazioni. Tuttavia, su Stackhero, abbiamo integrato la crittografia TLS per impostazione predefinita.
Per sfruttare questo, configurate il vostro client Redis per utilizzare la crittografia TLS e connettetevi alla vostra istanza tramite la porta <PORT_TLS>. Evitate di utilizzare <PORT_CLEAR>, poiché non crittografa i dati.
La parte migliore è che non c'è nient'altro che dovete fare da parte vostra, ci siamo occupati noi della configurazione complessa.
Proteggere Redis dagli attacchi brute force
La vostra istanza Redis è protetta con una password, che Stackhero imposta automaticamente su un valore predefinito altamente sicuro. Se scegliete di cambiarla, assicuratevi di selezionare una password estremamente complessa.
Redis è altamente efficiente ma manca di protezioni integrate contro gli attacchi brute force, permettendo a un attaccante di testare potenzialmente fino a 150.000 combinazioni di password al secondo.
Per contrastare questo rischio, imponiamo una lunghezza minima della password di 16 caratteri (offrendo circa 4.5231285e+74 combinazioni). Per impostazione predefinita, utilizziamo una password di 64 caratteri (offrendo circa 9.61963e+111 combinazioni).
Per una sicurezza aggiuntiva e per ridurre significativamente il rischio di attacchi brute force, è altamente raccomandato configurare le impostazioni del firewall di Stackhero (disponibili sotto la scheda "Firewall") per limitare le connessioni esclusivamente ai vostri indirizzi IP. Questo passaggio è essenziale per migliorare la vostra postura di sicurezza.