Salta ai contenuti

Redis Operations — Corso completo

Corso operativo su Redis con taglio Operations / SRE / Platform Engineering. Niente sviluppo applicativo: l’obiettivo è installare, configurare, mettere in sicurezza, scalare, monitorare e mantenere Redis in produzione, standalone e in cluster, su RHEL 9 e macOS.

Tutti i comandi sono pensati per essere incollati direttamente nel terminale. Dove RHEL e macOS divergono, trovi entrambe le varianti.


Sysadmin, SRE, platform/infra engineer che gestiscono Redis come servizio di piattaforma (cache, session store, rate limiting, code, lock distribuiti) e devono garantirne disponibilità, performance e ripristino.

Prerequisiti: dimestichezza con la shell Unix, systemd, networking di base (porte, firewall, TLS), concetti di processo/memoria. Non serve saper programmare.


ComponenteVersioneNote
Redis Open Source8.x (stable 8.8, mantenute 8.6 / 8.4)dal redis.io ufficiale
Valkey9.xfork BSD del Linux Foundation
RHEL9.x (validato anche su Rocky/Alma 9)AppStream fornisce Redis 6/7
macOS14/15 (Apple Silicon e Intel)via Homebrew

Nota su licenza e fork. Da Redis 7.4 il core è passato a RSALv2/SSPLv1 (source-available, non più open source “puro”). Da Redis 8.0 è stato aggiunto anche AGPLv3. Nel frattempo il Linux Foundation ha forkato l’ultima versione BSD creando Valkey. Conseguenza operativa concreta: RHEL/EL 10 ha rimosso redis dai repository e fornisce valkey; RHEL 9 ha ancora il modulo AppStream redis (versioni 6/7, più datate). Per le ultime versioni su RHEL usi il repo ufficiale packages.redis.io o i repo Remi. Tutto il corso vale praticamente identico per Valkey: i comandi redis-* hanno gli equivalenti valkey-* e la compatibilità di protocollo/comandi è 1:1 fino a Redis 7.2.


#ModuloContenuto
00Introduzione (parti da qui)Per chi parte da zero: concetti, glossario, prerequisiti, self-managed vs managed (Redis Cloud) vs K8s
01Architettura e fondamentiModello in-memory, single-thread, memoria, persistenza, RESP
02Installazione standaloneRHEL 9 (repo, AppStream, sorgente), macOS, layout, systemd
03Configurazione e sicurezzaredis.conf, CONFIG, ACL, TLS, hardening
04PersistenzaRDB, AOF, recovery, scelta della strategia
05Replica e SentinelReplica async, HA con Sentinel, failover
06Redis ClusterHash slot, sharding, creazione, reshard, scaling
07Monitoring e tuningINFO, SLOWLOG, LATENCY, eviction, kernel, Prometheus
08Backup, upgrade, troubleshootingBackup/restore, DR, upgrade rolling, playbook diagnostici
09Laboratori pratici8 lab + capstone, con soluzioni, eseguibili su RHEL/macOS
10Casi d’usoCache, sessioni, rate limiting, lock, code/Stream, pub/sub
11Produzione enterprise e go-liveSizing, topologie, sicurezza/governance, SLO, runbook, checklist
12Redis su Kubernetes e OpenShiftStatefulSet, Operator (opstree/spotahome/Enterprise), PVC, HA, note OpenShift

Il modulo 00 è la rampa d’accesso per chi parte da zero, e il Cheatsheet comandi è il riferimento rapido ops-ready con tutti i comandi. I moduli 01–08, 10 e 11 sono teoria + comandi. Il modulo 09 è il workbook pratico: ogni lab richiama i concetti del modulo corrispondente. Tutti i comandi e i flussi dei lab (standalone, persistenza, ACL/TLS, replica+Sentinel, cluster con reshard e failover, monitoring, backup/restore, troubleshooting) sono stati eseguiti e validati su Redis reale. Il modulo 12 (Kubernetes/OpenShift) è basato sulla documentazione ufficiale e va verificato sul proprio cluster.


Non servono più macchine. Quasi tutti i lab (replica, Sentinel, cluster) girano su una sola macchina lanciando più istanze Redis su porte diverse, sia su RHEL sia su macOS. Dove serve isolamento reale (es. test di rete o firewall), puoi usare 3–6 VM o container, ma è opzionale.

Requisiti minimi: 2 vCPU, 4 GB RAM, 10 GB disco. Per il modulo cluster meglio 4 GB liberi.

Convenzioni usate nel corso:

  • I blocchi bash sono comandi da terminale; il prompt non è incluso così puoi copiare l’intero blocco.
  • # RHEL e # macOS marcano le varianti specifiche per piattaforma.
  • I percorsi di default usati: dati /var/lib/redis, config /etc/redis/, log /var/log/redis/ su RHEL; su macOS (Homebrew Apple Silicon) /opt/homebrew/etc/redis.conf e /opt/homebrew/var/db/redis/.
  • I diagrammi sono in Mermaid: si renderizzano nativamente su GitHub e GitLab e, in Astro Starlight, con un plugin Mermaid (es. rehype-mermaid + Playwright, oppure astro-mermaid). In editor che non lo supportano vedrai il sorgente testuale del diagramma, comunque leggibile.

Buon lavoro.