<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pages on KeyValueStore.com</title>
    <link>https://keyvaluestore.com/pages/</link>
    <description>Recent content in Pages on KeyValueStore.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://keyvaluestore.com/pages/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://keyvaluestore.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/about/</guid>
      <description>&lt;p&gt;KeyValueStore.com publishes free tools for the people who run key-value stores: Redis and Valkey clusters, DynamoDB tables, and the caches and stores built on the same ideas. Each tool does one job you&amp;rsquo;d otherwise do by hand, with an old script, or by pasting your data into someone else&amp;rsquo;s website.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-the-tools-are-for&#34;&gt;What the Tools Are For&lt;/h2&gt;&#xA;&lt;p&gt;Key-value stores are simple on the surface: every value is filed under a key, and you get it back by asking for that key. The work comes around the edges. Which cluster node holds this key? Why did that command fail with CROSSSLOT? How do I load two million rows tonight? What&amp;rsquo;s actually in this keyspace? What happens when we add a server? The &lt;a href=&#34;https://keyvaluestore.com/tools/&#34;&gt;tools&lt;/a&gt; answer questions like those, and the &lt;a href=&#34;https://keyvaluestore.com/what-is-a-key-value-store-redis-valkey-dynamodb-and-etcd-explained/&#34;&gt;guide to key-value stores&lt;/a&gt; covers the ground underneath them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Consistent Hashing Playground</title>
      <link>https://keyvaluestore.com/tools/ring/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/ring/</guid>
      <description>&lt;p&gt;Spread keys over a few servers four ways, then add a server or take one away and count what moves. The playground compares modulo hashing, a hash ring with virtual nodes, rendezvous hashing and jump consistent hash, side by side, in your browser.&lt;/p&gt;&#xA;&lt;iframe id=&#34;kvs-tool&#34; src=&#34;https://keyvaluestore.com/tools/ring/app/&#34; title=&#34;Consistent Hashing Playground&#34; style=&#34;display:block;width:100%;height:1150px;border:0;margin:1.5rem 0&#34;&gt;&lt;/iframe&gt;&#xA;&lt;script&gt;&#xA;(function () {&#xA;  var f = document.getElementById(&#39;kvs-tool&#39;);&#xA;  if (!f) return;&#xA;  function fit() {&#xA;    try {&#xA;      var b = f.contentDocument &amp;&amp; f.contentDocument.body;&#xA;      if (b) f.style.height = Math.ceil(b.getBoundingClientRect().height) + &#39;px&#39;;&#xA;    } catch (e) {}&#xA;  }&#xA;  f.addEventListener(&#39;load&#39;, function () {&#xA;    fit();&#xA;    try { new ResizeObserver(fit).observe(f.contentDocument.body); }&#xA;    catch (e) { setInterval(fit, 1000); }&#xA;  });&#xA;  window.addEventListener(&#39;resize&#39;, fit);&#xA;})();&#xA;&lt;/script&gt;&#xA;&lt;p&gt;On a wide screen you can &lt;a href=&#34;https://keyvaluestore.com/tools/ring/app/&#34;&gt;open it full screen&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://keyvaluestore.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/contact/</guid>
      <description>&lt;p&gt;KeyValueStore.com would like to hear from:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone with a tool idea.&lt;/strong&gt; A chore around Redis, Valkey, DynamoDB, etcd or another key-value store that a small tool could save you.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone who found a mistake.&lt;/strong&gt; A wrong answer, a page that doesn&amp;rsquo;t work in your browser, or a version that behaves differently.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone with a question&lt;/strong&gt; about the tools or the &lt;a href=&#34;https://keyvaluestore.com/what-is-a-key-value-store-redis-valkey-dynamodb-and-etcd-explained/&#34;&gt;guide to key-value stores&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Write to &lt;strong&gt;&lt;a href=&#34;mailto:info@keyvaluestore.com&#34;&gt;info@keyvaluestore.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re reporting a wrong answer, it helps to say which tool, which browser, and a small example input that shows the problem. Please don&amp;rsquo;t send real customer data: a few made-up keys or rows that show the same thing are enough.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Free Tools for Key-Value Stores</title>
      <link>https://keyvaluestore.com/tools/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/</guid>
      <description>&lt;p&gt;Free tools for the jobs that come with running a key-value store: working out cluster slots, looking inside a snapshot, reading a server&amp;rsquo;s traffic, decoding a stored value, converting DynamoDB JSON, bulk-loading data, making sense of a keyspace and planning how keys spread over servers. Each one runs in your browser. There&amp;rsquo;s no sign-up and nothing to install.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you paste leaves your browser.&lt;/strong&gt; The tools don&amp;rsquo;t send anything anywhere, and each tool page&amp;rsquo;s security policy stops it from fetching or loading anything from another site. Your keys, data and cluster layout stay on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hash Slot Calculator for Redis and Valkey Clusters</title>
      <link>https://keyvaluestore.com/tools/slots/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/slots/</guid>
      <description>&lt;p&gt;Find which slot of a Redis or Valkey cluster a key lands in, and which primary holds it. Check a multi-key command for CROSSSLOT errors before your code sends it, and see how a whole list of keys spreads across the cluster. It all runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you paste leaves this page.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site, so your keys and cluster layout stay on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keyspace Map for Redis and Valkey</title>
      <link>https://keyvaluestore.com/tools/keyspace/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/keyspace/</guid>
      <description>&lt;p&gt;Paste a list of keys and see what a keyspace holds: the prefixes as a tree with counts, the naming patterns behind the keys with IDs and hashes folded together, how many bytes the key names take, and naming slips worth a look. It runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you paste leaves this page.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site, so your key names stay on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mass Insert Builder for redis-cli and valkey-cli --pipe</title>
      <link>https://keyvaluestore.com/tools/pipe/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/pipe/</guid>
      <description>&lt;p&gt;Turn CSV, JSON or plain commands into a file in the Redis protocol, ready for &lt;code&gt;redis-cli --pipe&lt;/code&gt; or &lt;code&gt;valkey-cli --pipe&lt;/code&gt;, the fast way to load a lot of data into Redis or Valkey. It also reads protocol bytes back as commands and replies. It runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you paste leaves this page.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site, so your data stays on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snapshot Viewer for Redis and Valkey RDB Files</title>
      <link>https://keyvaluestore.com/tools/snapshot/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/snapshot/</guid>
      <description>&lt;p&gt;Open a Redis or Valkey snapshot, the &lt;code&gt;dump.rdb&lt;/code&gt; file, and see what&amp;rsquo;s in it: keys by type and database, the biggest keys, the prefixes that take the most space, how long expiring keys have left, and every value. It also reads the payloads of the &lt;code&gt;DUMP&lt;/code&gt; command. It all runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you load leaves this page.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site, so your data stays on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Traffic Analyzer for Redis and Valkey MONITOR Output</title>
      <link>https://keyvaluestore.com/tools/traffic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/traffic/</guid>
      <description>&lt;p&gt;Load what &lt;code&gt;MONITOR&lt;/code&gt; printed and see what a Redis or Valkey server&amp;rsquo;s traffic is made of: commands per second, the command mix, the busiest keys and clients, how the keys would spread over a cluster, commands worth a second look, and how many keys a cache needs to hold for a given hit rate. It all runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you load leaves this page.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site, so your data stays on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Typed JSON Converter for DynamoDB</title>
      <link>https://keyvaluestore.com/tools/typed-json/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/typed-json/</guid>
      <description>&lt;p&gt;Turn DynamoDB&amp;rsquo;s typed JSON into plain JSON, and plain JSON into typed JSON you can send to DynamoDB. Paste the output of &lt;code&gt;aws dynamodb scan&lt;/code&gt;, an export to S3 or a stream record, and get clean data back with every digit of every number kept. It runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you paste leaves this page.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site, so your table data stays on your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Value Inspector for Redis, Valkey and Memcached</title>
      <link>https://keyvaluestore.com/tools/inspect/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://keyvaluestore.com/tools/inspect/</guid>
      <description>&lt;p&gt;Paste a value from Redis, Valkey, Memcached or any other key-value store and see what format it&amp;rsquo;s in and what it says. The inspector reads JSON, MessagePack, CBOR, BSON, Protocol Buffers, PHP sessions, igbinary, Java serialization, Python pickles and Ruby Marshal, and it unwraps base64, hex, gzip, zlib, LZ4 and Snappy on the way in. It all runs in your browser.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nothing you paste leaves this page, and nothing in it runs.&lt;/strong&gt; The tool doesn&amp;rsquo;t send anything anywhere, and the page&amp;rsquo;s security policy stops it from fetching or loading anything from another site. Pickles, Java objects and Marshal data are only read, so a value can&amp;rsquo;t make the page do anything.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
