Redis
Pro-tier engine. Quay treats Redis as Redis: key tree, type-aware editors per value type (string / list / set / sorted set / hash / stream), pub/sub tail, native JSONL dump.
Connection
Section titled “Connection”| Field | Notes |
|---|---|
| Host | localhost, redis.example.com, … |
| Port | 6379 (default) |
| Username · Password | Optional; ACL auth supported (Redis 6+) |
| Database | 0–15 (SELECT n) |
| TLS | Optional; certificate paths if cert-based |
| SSH tunnel | Optional |
For Redis Cluster: connect to any node; Quay discovers the slot map + topology automatically. Slot-misses get retried transparently against the right shard.
Key browser
Section titled “Key browser”The left rail shows keys in a tree, split by : separators (the
de facto Redis convention). users:1234:profile becomes a 3-level
nesting. Counts at each level. Search is glob-aware (KEYS pattern)
with a SCAN fallback for big keyspaces (>10k keys triggers SCAN
mode automatically — no KEYS * blocking the engine).
Type-aware editors
Section titled “Type-aware editors”Each Redis type gets its own grid:
- String — single-cell editor with TTL field
- List — ordered grid; LPUSH / RPUSH from the bottom toolbar
- Hash — field/value pairs in a 2-column grid
- Set — unordered grid + add/remove
- Sorted set — score + member columns; sortable by score
- Stream — entries in append order;
XADDfrom the toolbar; the consumer groups panel surfaces pending entries - JSON (RedisJSON module) — auto-detected; renders the JSON in the BSON editor + dot-path editing
- Bitmap / HyperLogLog / Geo — read-only display +
PFCOUNT/GEORADIUShelper buttons
Edit-as-draft works across types — multiple SET / HSET / LPUSH ops
stage together, ⌘S commits via pipelined commands.
Pub/Sub tail
Section titled “Pub/Sub tail”SUBSCRIBE or PSUBSCRIBE from the deep panel; live tail of
messages:
- Channel filter (single channel or pattern)
- Pretty-printed payload
- Publish form below the tail for quick send
The connection used for SUBSCRIBE is dedicated (Redis pubsub clients can’t run regular commands while subscribed); Quay opens a separate pool client for it so the main session stays usable.
Native dump (redis_dump_keys)
Section titled “Native dump (redis_dump_keys)”Walks the keyspace via SCAN, dumps every key with its type-aware representation as JSONL:
{"key":"users:1234:profile","type":"hash","value":{"name":"Ada","plan":"pro"}}{"key":"users:1234:cart","type":"list","value":["sku-1","sku-2"]}Optional pattern (pattern: "users:*") for partial dumps. The
restore path reads the same JSONL and runs the right command per
type.
For production-grade backups of Redis use the upstream RDB /
AOF mechanism — BGSAVE plus copying the .rdb file. Quay’s JSONL
dump is for exports, fixtures, and snapshots that need to be
human-readable. The scheduled-backups CLI can
fire redis_dump_keys on a cron, but for a master replication
solution use Redis’s own.
TTL handling
Section titled “TTL handling”Every grid shows the per-key TTL in a column; setting / clearing
it is a one-cell edit. The dump includes TTL state per key
({"key":"…","ttl":3600}); restore re-applies via EXPIRE.
Cluster + Sentinel
Section titled “Cluster + Sentinel”- Cluster: covered above — auto-discover topology
- Sentinel: connect to a Sentinel host with the
sentinel://scheme; Quay queries Sentinel for the current master + reconnects on failover. The active-master indicator is on the connection chip.
What Quay doesn’t do
Section titled “What Quay doesn’t do”- Modules: RedisJSON, RedisGraph, RedisTimeSeries — partial support (browser shows the values; native commands work via the raw command runner; type-aware editors only for JSON). Other modules: file a request via Settings → Feedback.
- Lua script management: scripts run, but there’s no “manage saved scripts” surface yet.