COMPATIBLE CON REDIS · MULTI-TENANT · BINARIO ~390KB

Un store compatible con Redis.
Gratis para siempre, sin asteriscos.

64 comandos, Pub/Sub, transacciones y SCAN estable ante resize sobre un endpoint TLS público en nyxkv.com:6380. Conecta con cualquier cliente Redis — redis-cli, redis-py, ioredis — sin cambios.

Probar gratis GitHub
64
comandos Redis
~390KB
binario del daemon
1 comando
para conectar cualquier cliente Redis
$0
para siempre, sin tarjeta
$ redis-cli -h nyxkv.com -p 6380 --tls -a $TOKEN
nyxkv.com:6380> SET usuario:1 "Alicia"
OK
nyxkv.com:6380> GET usuario:1
"Alicia"
nyxkv.com:6380> SUBSCRIBE eventos
# Otro cliente:
nyxkv.com:6380> PUBLISH eventos "usuario:1 conectado"
1
Empezar

Conecta en 3 líneas

Cualquier cliente Redis funciona. Siempre con TLS, siempre con token.

$ redis-cli -h nyxkv.com -p 6380 --tls -a $TOKEN
nyxkv.com:6380> SET hola mundo
OK
import redis
r = redis.Redis(host="nyxkv.com", port=6380, ssl=True, password="$TOKEN")
r.set("hola", "mundo")
import Redis from 'ioredis';
const r = new Redis({
  host: 'nyxkv.com', port: 6380,
  tls: {}, password: process.env.TOKEN,
});
await r.set('hola', 'mundo');
rdb := redis.NewClient(&redis.Options{
    Addr:      "nyxkv.com:6380",
    Password:  os.Getenv("TOKEN"),
    TLSConfig: &tls.Config{},
})
rdb.Set(ctx, "hola", "mundo", 0)
let url = format!("rediss://:{}@nyxkv.com:6380", token);
let client = redis::Client::open(url)?;
let mut con = client.get_connection()?;
redis::cmd("SET").arg("hola").arg("mundo").execute(&mut con);
Paso a paso

Inicio rápido

De cero a guardar datos en menos de un minuto.

1. Crea una cuenta

Registrate en dashboard.nyxkv.com/signup. Email y contraseña — sin tarjeta de crédito.

2. Genera un token

Abre dashboard.nyxkv.com/app/keys y haz clic en Crear token. Copialo — se muestra una sola vez.

3. Conecta

$ redis-cli -h nyxkv.com -p 6380 --tls -a $TOKEN PING
PONG
$ redis-cli -h nyxkv.com -p 6380 --tls -a $TOKEN
nyxkv.com:6380> SET usuario:1:nombre "Alicia"
OK
nyxkv.com:6380> INCR contador
(integer) 1
Cobertura completa

64 comandos en 8 capacidades

Todo lo que buscas en un store compatible con Redis — verificado contra redis-py y redis-cli.

Strings
SET, GET, INCR, DECR, INCRBY, APPEND, STRLEN, SETNX, SETEX, GETSET, GETDEL, GETEX, MSET, MGET.
Listas
LPUSH, RPUSH, LPOP, RPOP, LLEN, LRANGE, LINDEX. Colas y stacks en un solo tipo.
Sets
SADD, SREM, SISMEMBER, SMEMBERS, SCARD. Pertenencia única en O(1).
Hashes
HSET, HGET, HDEL, HGETALL, HKEYS, HVALS, HEXISTS, HLEN. Registros campo-valor.
Pub/Sub
SUBSCRIBE, PSUBSCRIBE, PUBLISH, UNSUBSCRIBE. Fan-out en tiempo real entre clientes.
Transacciones
MULTI, EXEC, DISCARD. Encola comandos y ejecutalos atómicamente contra el único writer.
Scan y keys
SCAN, KEYS, EXISTS, TYPE, DEL, DBSIZE. Iteración con cursor estable, incluso ante resizes.
TTL y expiración
EXPIRE, TTL, PERSIST, SETEX, GETEX. Las keys auto-expiran a las 24h en el tier gratis.

Los 64 comandos →

Correctitud

SCAN que nunca pierde una key

Un SCAN por cursor solo sirve si cumple su promesa mientras el keyspace cambia debajo. NyxKV implementa el cursor reverse-binary de Redis sobre su tabla hash Robin Hood, así que una key presente durante todo el scan aparece al menos una vez — incluso cuando las escrituras disparan resizes a mitad.

# redis-py, iterando mientras otro cliente inunda de escrituras
for key in r.scan_iter(match="orig:*", count=5):
    seen.add(key)
# 100/100 corridas con un writer concurrente forzando resizes: 0 keys perdidas
Medido, no prometido

Números honestos vs redis-server

Head-to-head en la misma máquina (redis-benchmark, sin pipeline, TLS off para la comparación). La latencia está en el mismo orden de magnitud que Redis; la cola es donde se nota un runtime con GC — lo publicamos en vez de esconderlo.

redis-server 8.0.2 vs nyxkv · N=50.000 SET/GET, conexión única, aarch64. Método completo: docs/BENCH_VS_REDIS.md.
Métricaredis-servernyxkvratio
SET throughput97.276 rps59.172 rps0,61×
SET p500,263 ms0,415 ms1,58×
SET p990,687 ms1,175 ms1,71×
GET throughput92.937 rps48.263 rps0,52×
GET p500,255 ms0,519 ms2,04×
Memoria residente13,3 MB63,1 MB4,75×

¿A dónde se va la diferencia? El hot path aloca a través de un GC conservador, que aparece como picos ocasionales de latencia de cola y un set residente más grande. Para un endpoint gratis y compatible con Redis es un trade que hacemos a propósito — y que seguimos midiendo.

Aislamiento

Multi-tenant por defecto

Cada cuenta tiene su propio keyspace. Los tokens los emite el dashboard, no el protocolo.

# 1. Genera un token en https://dashboard.nyxkv.com/app/keys
# 2. Pásalo como password a cualquier cliente Redis

$ redis-cli -h nyxkv.com -p 6380 --tls -a $TOKEN
nyxkv.com:6380> SET mikey "mis datos"
OK
# Guardado en tu namespace. Ninguna otra cuenta puede leerlo ni escribirlo.
Durabilidad

Persistente por defecto

Un snapshot en background cada segundo. Los reinicios retoman donde quedaron.

Snapshots en background
El bg-saver escribe el archivo .ndb cada segundo. Ningún request se bloquea por la persistencia.
Integridad CRC32
Cada snapshot lleva un checksum CRC32. La corrupción se detecta al cargar y se rechaza.
Ventana de pérdida ~1s
Un kill brusco puede perder hasta un segundo de writes. Los reinicios normales son limpios.
Para agentes AI — beta

Memoria persistente para tus agentes

Memoria drop-in para Claude Code y otros agentes, respaldada por tu token de NyxKV. Sobrevive sesiones, sincroniza entre máquinas.

# guarda tu token una vez, compila el SDK, instala el plugin
$ printf '%s' "$TOKEN" > ~/.nyxkv-token && cd sdk && nyx build
# después, desde tu agente: "restaura mi memoria" al empezar, "guarda mi memoria" al cerrar

Cómo funciona Agent Memory →

Precios

Gratis para siempre

No hay tier Pro. No hay tier Enterprise. El tier gratis es el producto.

Free
$0
para siempre
  • 1000 requests por segundo
  • 10.000 keys por cuenta
  • 1 MB por valor
  • 24h de TTL en cada key
  • Cifrado TLS
  • Aislamiento multi-tenant
  • Pub/Sub
  • Soporte de la comunidad
Crear cuenta
Ecosistema

Construido enteramente con Nyx

Parte de un ecosistema de lenguaje auto-hospedado. Binario del daemon: ~390KB.

Nyx
El lenguaje en el que está escrito NyxKV. Compila a binarios nativos chicos sin runtime ni dependencias.
nyx-serve
Framework HTTP con middleware y sesiones. Sirve este sitio y el dashboard de NyxKV.
Código en GitHub
Licencia MIT. Lee el código, abre un issue, envía un patch.