A Redis and Valkey desktop client with a real debugger — browse and edit at any scale, breakpoint live traffic, and rewind writes. Here's the tour.
Dan Mahon · Founder
· 3 min read
Every Redis GUI shows you a keyspace. None of them show you the traffic —
the commands your app is actually sending, in the moment it sends them. When a
cache goes wrong at 2am, a tree of keys doesn’t help. You want to hold the next
DEL, look at it, and decide.
That’s Varc: a desktop client that treats Redis the way an IDE treats code.
Browse and edit at any scale, set a breakpoint on live traffic, step through
commands, and rewind writes you didn’t mean to make.
varc · playground
Type a command below, or tap a preset.
Browse and edit at any scale
Most clients fall over on a big keyspace because they try to KEYS * the world.
Varc never materialises the whole keyspace — it renders only the window you’re
looking at and pages as you scroll, so a million keys feels like a hundred.
10M+keysscroll, don't wait
0full scanswindowed cursor
3topologiesstandalone · cluster · sentinel
Every value type gets a first-class editor — strings, hashes, lists, sets, and
sorted sets — with inline type detection and binary-safe display. Keys and
values are bytes, not strings, so a \xac\xed Java-serialised blob shows up as
exactly that instead of mojibake.
The part nobody else has: a debugger
Point any client — your app, a script, or Varc itself — at the opt-in local
proxy, and every command becomes something you can hold, inspect, and release.
Breakpoint on
Example
Any command
pause everything
Writes only
let reads flow, hold mutations
A command name
only FLUSHDB
A key pattern
sess:*, whichever command hits
One connection
isolate a misbehaving client
When a command matches, the stream pauses and hands you the held command with
its full arguments. Step it, continue, or drop it and synthesise a reply. We’ll
go deep on how the proxy stays cluster-transparent in a follow-up post.
It’s fast because it does less
The proxy sits on the hot path, so it can’t be slow. It parses just enough of
each RESP frame to route and match, and forwards the bytes untouched when no
breakpoint is armed.
Added round-trip latency through the proxy
Directno proxy
41µs
Varc · idleno breakpoints
47µs
Varc · armedmatching writes
63µs
Local benchmark, 50k GET/SET ops · lower is better
Get started in three steps
Download the app
Grab the build for macOS, Windows, or Linux from the download page.
Connect a profile
Point Varc at a standalone, cluster, or sentinel endpoint — TLS and SSH tunnels included.
Start the debugger
Open the Debugger tab, pick a local port, and route a client through it.
Varc is pre-release and moving fast. If holding a Redis command mid-flight
sounds useful, we’d love for you to try it and tell us what breaks.
A breakpoint for Redis means pausing a live command without breaking the client that sent it. Here's how the proxy holds, releases, and drops commands — and stays on the hot path while doing it.
Redis has no undo. Varc captures a before-image of every write it debugs, so you can put a key back the way it was. Here's what rewind can and can't do.