Definición básica de Redis
Redis es un software de código abierto escrito en ANSI C, un sistema de almacenamiento / base de datos clave‑valor accesible por red, con almacenamiento en memoria y persistencia de datos. Ofrece APIs de cliente para múltiples lenguajes de programación.
- Pertenece a las bases de datos NoSQL no relacionales;
- Es similar a Memcached pero con más funcionalidades, cubriendo muchas de sus limitaciones;
- Se usa frecuentemente como solución de caché complementaria para bases de datos relacionales como MySQL.
Tipos de datos admitidos
String:Tipo cadena de textoList:Lista doblemente enlazadaSet:Colección desordenadazset(sorted set):Colección ordenadaHash:Estructura hash (similar a Map)
Memcached solo admite cadenas de texto, esta es una de las diferencias más representativas entre ambos.
Características
- Soporte de clientes multi‑idioma
Cuenta con SDK oficial para Java, C/C++, C#, PHP, JavaScript, Python, Ruby, Perl y muchos lenguajes más, facilitando la integración en desarrollos. - Sincronización maestro‑esclavo
Admite replicación maestro‑esclavo para realizar copias de seguridad remotas y separación de lectura‑escritura, mejorando la disponibilidad del servicio. - Alto rendimiento
Los datos residen principalmente en memoria, las lecturas y escrituras son muy veloces, se usa ampliamente como caché distribuido. - Capacidad de persistencia
Los datos en memoria se pueden guardar en disco, no se pierden totalmente tras reiniciar (Memcached no tiene persistencia por defecto).
Contexto
El proyecto inicial de Redis fue financiado, desarrollado y mantenido por VMware.
Usaremos un ejemplo sencillo de cliente Redis en WinForm(C#) para mostrar su funcionamiento, es un programa introductorio que muestra la conexión desde C# hacia Redis.
- Establecer pares clave‑valor
- Obtener valor mediante clave
Comparación breve Redis vs Memcached
| Característica | Redis | Memcached |
|---|---|---|
| Tipos de datos | 5 estructuras básicas | Solo cadena String |
| Persistencia | Admite RDB/AOF | Sin persistencia |
| Replicación maestro‑esclavo | Admitido | Sin soporte nativo |
| Política de expulsión memoria | Múltiples políticas | Expulsión LRU |
Introducción
Next: Instalación