Documentación/Redis
Redis
Base de datos clave-valor en memoria.
De un vistazo
- Categoría — Clave-valor
- Lenguaje de query — Comandos Redis
- Puerto por defecto — 6379
- Esquema de URI —
redis
Driver de clave-valor Redis para DBFlux, construido sobre el crate redis.
Funcionalidades
- Driver clave-valor clasificado como
DatabaseCategory::KeyValuecon el lenguaje de queryRedisCommands; el editor usa sintaxis de comandos Redis, no SQL. - Modos de conexión: manual (host/port/user/password/database) y modo URI. El modo URI acepta cadenas de conexión
redis://yrediss://. - Múltiples databases lógicas mediante
SELECT <db>(MULTIPLE_DATABASES). El índice de la database activa se rastrea en la conexión. - Autenticación con username + password opcionales (
AUTHENTICATION). - TLS/SSL con tres modos (
off,on,verify):off— conexiónredis://plana.on—rediss://con el certificado confiado sin validación de cadena (marcador inseguro).verify—rediss://con un certificado raíz suministrado y certificado/clave de cliente opcionales, construido a través deClient::build_with_tls.
- Soporte de túnel SSH para llegar a Redis a través de un bastion host (solo en modo manual; ver Limitaciones).
- Exploración y descubrimiento de claves:
- Escaneo de claves basado en cursor (
KV_SCAN,PaginationStyle::Cursor). - Descubrimiento de tipo por clave (
KV_KEY_TYPES) entre string, hash, list, set, sorted set y stream. - Inspección de TTL (
KV_TTL) y reporte de tamaño de valor (KV_VALUE_SIZE). - Comprobaciones de existencia (
KV_GET/KV_EXISTS), renombrado de claves (KV_RENAME) y obtención masiva de múltiples claves (KV_BULK_GET).
- Escaneo de claves basado en cursor (
- Cobertura de tipos de valor: strings, hashes, lists, sets, sorted sets y streams, incluyendo lecturas de rango de stream, adición de entradas de stream y eliminación de entradas de stream (
KV_STREAM_RANGE,KV_STREAM_ADD,KV_STREAM_DELETE). - Límite de vista previa de stream configurable, expuesto como ajuste de conexión.
- Mutaciones: insert, update, delete, operaciones por lotes y eliminación masiva.
RedisCommandGeneratoremite comandos Redis para set/delete, hash set/delete, list push/set/remove, set add/remove, sorted-set add/remove y stream add/delete, para su uso en vistas previas y copy-as-command. - Exportación de resultados a JSON (
EXPORT_JSON).
Métricas de instancia
Expone un conjunto seleccionado de métricas de servidor en vivo tomadas de la salida del comando INFO:
redis.connected_clients— clientes actualmente conectadosredis.blocked_clients— clientes esperando en un comando bloqueanteredis.used_memory— bytes asignados por el allocator de Redisredis.used_memory_rss— bytes asignados por el sistema operativo (resident set size)redis.total_commands_processed— comandos procesados acumuladosredis.total_connections_received— conexiones aceptadas acumuladasredis.instantaneous_ops_per_sec— comandos procesados por segundo (tasa del lado del servidor)redis.keyspace_hits— aciertos de caché en búsquedas de clavesredis.keyspace_misses— fallos de caché en búsquedas de clavesredis.evicted_keys— claves desalojadas por la políticamaxmemoryredis.expired_keys— claves expiradas por TTLredis.rdb_changes_since_last_save— cambios desde el último snapshot RDBredis.connected_slaves— cantidad de réplicas conectadas
Cada métrica se devuelve como una única fila (timestamp_ms, value) para graficado en vivo.
Inspector de instancia
Expone snapshots tabulares del estado del servidor en ejecución:
redis.client_list— clientes activos desdeCLIENT LIST(id, cmd, age, idle, flags, db, sub, multi)
Los campos sensibles (addr, laddr, name) se redactan a [redacted] para evitar exponer direcciones IP y hostnames de clientes.
Limitaciones
-
SQL no está soportado; las queries deben escribirse como comandos Redis.
-
Las métricas de instancia devuelven un único punto de datos por llamada (snapshot actual de
INFO), no una serie temporal histórica. Los contadores acumulativos (p. ej.redis.total_commands_processed) crecen de forma monótona — interprétalos como deltas entre muestras en lugar de tasas absolutas. -
El inspector
CLIENT LISTredacta los camposaddr,laddrynameen cada fila para evitar exponer direcciones IP y nombres suministrados por el usuario a la UI. -
La cancelación de query no está soportada (
QUERY_CANCELLATIONno está establecida); los comandos de larga duración no se pueden abortar desde la UI. -
Sin upsert (
supports_upsert: false), sinRETURNINGy sin update masivo (supports_bulk_update: false). -
Las capacidades DDL están todas deshabilitadas (sin tables, views, indexes, schemas) — esto es un almacén clave-valor, no relacional.
-
Las transacciones se anuncian a nivel de capacidad (
supports_transactions: true) pero sin niveles de aislamiento, savepoints, transacciones anidadas, read-only ni soporte deferrable. -
Pub/Sub no está expuesto (la capacidad
PUBSUBno está establecida). -
El túnel SSH no está disponible cuando el modo URI está habilitado; la ruta del túnel solo está conectada para el modo de conexión manual.
-
Los grupos de consumidores de stream no están modelados; solo se soportan lecturas de rango, adición de entradas y eliminación de entradas.