<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Andrew&#39;s Blog</title>
    <link>https://xops.io.vn/</link>
    <description>Recent content on Andrew&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 10 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://xops.io.vn/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Redis in Production: Why a Fast Cache Can Still Return Stale Data</title>
      <link>https://xops.io.vn/posts/redis-production-pitfalls/</link>
      <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://xops.io.vn/posts/redis-production-pitfalls/</guid>
      <description>Cache races, stampedes, Redis-backed rate limits, and eight less obvious failures explained with diagrams and runnable Python.</description>
    </item>
    <item>
      <title>Redis Persistence Explained: What RDB and AOF Actually Save</title>
      <link>https://xops.io.vn/posts/redis-persistence-rdb-aof/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://xops.io.vn/posts/redis-persistence-rdb-aof/</guid>
      <description>Follow a Redis write from memory to disk and learn how RDB snapshots, AOF, rewrite, and recovery behave after a failure.</description>
    </item>
    <item>
      <title>Learning Redis from the Ground Up: Keys, Data Types, and the Decisions That Matter</title>
      <link>https://xops.io.vn/posts/redis-fundamentals/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://xops.io.vn/posts/redis-fundamentals/</guid>
      <description>A practical Redis guide built around an online event app, from keys and TTLs to concurrency, Cluster, and production tradeoffs.</description>
    </item>
    <item>
      <title>Understanding OOMKill in Kubernetes</title>
      <link>https://xops.io.vn/posts/kubernetes-oomkill/</link>
      <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://xops.io.vn/posts/kubernetes-oomkill/</guid>
      <description>Understanding Linux OOM Killer and Kubernetes memory limits.</description>
    </item>
    <item>
      <title>About</title>
      <link>https://xops.io.vn/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://xops.io.vn/about/</guid>
      <description>&lt;p&gt;Hi, I&amp;rsquo;m Andrew Nguyen 👋&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m curious about cloud engineering, DevOps, and the infrastructure that keeps everything running. I like figuring out how things work, especially when they don&amp;rsquo;t work the first time.&lt;/p&gt;
&lt;p&gt;Around here, I share notes and practical lessons on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AWS&lt;/li&gt;
&lt;li&gt;Kubernetes&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;li&gt;System Design&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I started this blog because the best lessons often begin with &amp;ldquo;Why is this broken?&amp;rdquo; and end with far too many open browser tabs. Writing helps me remember the answer; sharing it might save you a few tabs (and a little coffee).&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
