<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Destined Esctacy</title>
    <description>The latest articles on DEV Community by Destined Esctacy (@the_destined_esctacy).</description>
    <link>https://dev.to/the_destined_esctacy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3994391%2Fc9e52522-f214-4477-b752-02319d19bfe0.jpg</url>
      <title>DEV Community: Destined Esctacy</title>
      <link>https://dev.to/the_destined_esctacy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/the_destined_esctacy"/>
    <language>en</language>
    <item>
      <title>I built a tool that shows you EXACTLY what Redis is doing</title>
      <dc:creator>Destined Esctacy</dc:creator>
      <pubDate>Sat, 20 Jun 2026 17:01:29 +0000</pubDate>
      <link>https://dev.to/the_destined_esctacy/i-built-a-tool-that-shows-you-exactly-what-redis-is-doing-30ik</link>
      <guid>https://dev.to/the_destined_esctacy/i-built-a-tool-that-shows-you-exactly-what-redis-is-doing-30ik</guid>
      <description>&lt;p&gt;Most Redis tutorials teach you commands. Few show you what those commands&lt;br&gt;
actually do to the data structures underneath. I kept finding myself&lt;br&gt;
running &lt;code&gt;redis-cli&lt;/code&gt;, guessing at internal state and cross-referencing&lt;br&gt;
documentation to confirm what I thought just happened.&lt;/p&gt;

&lt;p&gt;So I built Redis State Explorer (RSE). It is a web-based lab where you run real Redis commands and watch the actual state change in front of you. Lists, hashes, sets; all rendered as their real structure, not just text output.&lt;/p&gt;

&lt;p&gt;It's completely free, open source and live at &lt;a href="https://redislab.vercel.app/" rel="noopener noreferrer"&gt;https://redislab.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The problems that I kept running into
&lt;/h2&gt;

&lt;p&gt;Redis's data model is simple to explain and surprisingly easy to misjudge in actual practice.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;SADD&lt;/code&gt;-ing the same value three times silently succeeds every time, but&lt;br&gt;
the set only grows by one member. No error, no warning. You have to&lt;br&gt;
just already know that Sets work this way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A &lt;code&gt;WRONGTYPE&lt;/code&gt; error tells you that something went wrong. It is never obvious &lt;em&gt;why&lt;/em&gt;, especially if you're newer to Redis's strict per key typing model.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this is documented. It is the kind of thing that's much&lt;br&gt;
faster to realise by watching it happen rather than reading about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does RSE do?
&lt;/h2&gt;

&lt;p&gt;Three pieces:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A live terminal &amp;amp; state panel.&lt;/strong&gt; Type a command, watch the keyspace update in real time, with type-aware cards for Strings, Lists, Hashes, Sets, with TTL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A structure visualizer.&lt;/strong&gt; The same data rendered as an actual diagram. list nodes connected with HEAD/TAIL markers, hash field/value tables, set&lt;br&gt;
pill collections. &lt;/p&gt;

&lt;p&gt;In short, you can see roughly where time is going.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ten guided experiments.&lt;/strong&gt; Each one is a question, not an instruction with a hypothesis you test by running real commands.&lt;/p&gt;

&lt;p&gt;The idea is much closer to a lab notebook than a tutorial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some technical decisions worth mentioning
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;2-second backend polling &amp;amp; 1-second client-side TTL interpolation.&lt;/strong&gt; The&lt;br&gt;
backend doesn't push updates. The frontend polls &lt;code&gt;/state&lt;/code&gt; every 2 seconds.&lt;/p&gt;

&lt;p&gt;But a TTL counting down in 2-second jumps looks broken, so the frontend&lt;br&gt;
interpolates the displayed countdown every second locally, using the&lt;br&gt;
timestamp of the last real fetch. Smooth countdown, no extra network traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Completely Plain CSS, no Tailwind.&lt;/strong&gt; The whole UI follows a specific dark, systemic design language with tight tonal layering.&lt;/p&gt;

&lt;p&gt;I found handwritten CSS with consistent naming more predictable for this than composing utility classes for something this opinionated. This isn't a general recommendation, its just what worked here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not built yet (genuinely, not just modesty)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Pub/Sub and Streams visualization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bring_your_own_redis (currently it's only wired to one fixed instance. It can't point it at your own Redis Cloud/Enterprise instance yet, which is something a couple of people have already asked for).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A real mobile-responsive layout (the landing page works fine on mobile,&lt;br&gt;
the actual lab is a desktop tool right now).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Docker setup for easier local dev.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All tracked in the repo's &lt;code&gt;ROADMAP.md&lt;/code&gt; and genuinely open for contribution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Live: &lt;a href="https://redislab.vercel.app/" rel="noopener noreferrer"&gt;https://redislab.vercel.app/&lt;/a&gt;&lt;br&gt;
Source: &lt;a href="https://github.com/ps-aditya/Redis-State-Explorer" rel="noopener noreferrer"&gt;https://github.com/ps-aditya/Redis-State-Explorer&lt;/a&gt;&lt;br&gt;
License: MIT, and it'll stay that way.&lt;/p&gt;

&lt;p&gt;If you build something with Redis professionally and something in RSE looks wrong, or you've got an experiment idea that should exist and doesn't, please open an issue. That feedback loop is the actual point of putting this out there.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>webdev</category>
      <category>redis</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
