Notes/KeyValueStore

KeyValueStore Packs 14 Free Tools for Redis, Valkey, DynamoDB and etcd

KeyValueStore is a free kit of browser tools for anyone operating a key-value store. Nothing you paste into its tools leaves your browser, and a strict security policy on every tool page blocks it from contacting any other site. Version 0.1.0, out on 8 October, bundles all 14 in one download, so the same tools also run from the command line with Node.js 20 or newer.

The 14 Tools

Most are for Redis and Valkey. The Memory Calculator works out what your keys cost on each version. The Config Checker reports, for the version you pick, every line in a redis.conf that would keep the server from starting, all at once instead of one restart at a time. The Value Inspector turns a stored blob back into readable data, Python pickles and Java objects included, and never executes what it decodes. The rest are an ACL Builder, a Snapshot Viewer for RDB files, a Traffic Analyzer for MONITOR captures, a Keyspace Map, a Mass Insert Builder and a Hash Slot Calculator.

DynamoDB gets an Expression Tester and a Typed JSON Converter, and etcd gets a Revision Viewer for its snapshots. Two more cover the ideas underneath. The Graph Key Builder lays a graph out as keys in an ordered store. The Consistent Hashing Playground shows that when a sixth server joins five, plain modulo hashing moves 83% of the keys and the consistent schemes 14 to 17%.

How the Answers Were Checked

A tool’s logic lives in a single JavaScript file with no dependencies, and that one file serves the web page, the command line and the test suite alike, so the browser runs exactly the logic the tests check. To check the answers, the tools were run against the real thing wherever it exists: Redis and Valkey built from source in 15 versions, DynamoDB Local, and etcd from 3.4 to 3.6. Where no server applies, reference code stood in, and the Value Inspector was tested on values that Python, PHP, Java and Ruby wrote themselves.

The Memory Calculator shows how far that goes. It was measured against 94,061 cases across all 15 versions, from Redis 6.2 through 8.10 and Valkey 7.2 through 9.1. Some of what a server does is random, such as which keys share a hash bucket. Once the calculator knows how those random choices fell, its figures agree with the measurements byte for byte; only big sorted sets come out slightly off, within a few standard deviations.

The download is a tar.gz for Linux and macOS or a zip, and each release is tried on Linux, macOS and Windows before it goes out.