🧠 Manual Redis: Instalación, Uso y React Integration
🔍 ¿Qué es Redis?
Redis (REmote DIctionary Server) es una base de datos NoSQL en memoria, de código abierto, diseñada para ofrecer velocidad extrema en el manejo de datos clave-valor. Es ampliamente utilizada como caché, gestor de sesiones, cola de tareas y broker de pub/sub en arquitecturas modernas.
Su estructura ligera y su capacidad para operar en RAM la convierten en una herramienta ideal para aplicaciones que requieren respuestas en tiempo real.
📘 Manual oficial de Redis
🌐 Sitio oficial de Redis
🧩 1. Instalación en Debian
Para instalar Redis en Debian, ejecutá los siguientes comandos:
sudo apt update && sudo apt upgrade
sudo apt install redis-server
sudo systemctl status redis
sudo nano /etc/redis/redis.conf
🧪 2. Comandos Básicos
| Acción | Comando |
|---|---|
| Probar conexión | redis-cli ping |
| Guardar valor | redis-cli set clave valor |
| Leer valor | redis-cli get clave |
| Incrementar contador | redis-cli incr contador |
| Eliminar clave | redis-cli del clave |
⚛️ 3. Integración con React
Para usar Redis en una app React, necesitás un backend (Node.js) que se comunique con Redis. Aquí un ejemplo usando ioredis:
Backend (Node.js)
const Redis = require('ioredis');
const redis = new Redis();
app.get('/api/valor', async (req, res) => {
const valor = await redis.get('clave');
res.json({ valor });
});
Frontend (React)
import React, { useEffect, useState } from 'react';
function RedisViewer() {
const [valor, setValor] = useState('');
useEffect(() => {
fetch('/api/valor')
.then(res => res.json())
.then(data => setValor(data.valor));
}, []);
return (
<div className="container mt-4">
<h3>Valor desde Redis:</h3>
<p className="alert alert-info">{valor}</p>
</div>
);
}
export default RedisViewer;
📊 4. Panel Comparativo
| Característica | Redis local (Debian) | Redis en la nube |
|---|---|---|
| Control total | ✅ | ❌ |
| Persistencia | ✅ Configurable | ✅ Automática |
| Escalabilidad | ❌ Manual | ✅ Clustering |
| Integración Vercel | ❌ Indirecta | ✅ Directa (Upstash) |
| Ideal para | Desarrollo local | Producción serverless |