{"id":4739,"date":"2026-07-17T06:20:41","date_gmt":"2026-07-17T06:20:41","guid":{"rendered":"https:\/\/www.xminds.com\/resources\/?p=4739"},"modified":"2026-07-17T06:45:47","modified_gmt":"2026-07-17T06:45:47","slug":"when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem","status":"publish","type":"post","link":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/","title":{"rendered":"When a 100ms Redis Cache Fetch Suddenly Took 137 Seconds: A Production Postmortem"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h1>\n\n\n\n<p>Redis is often considered one of the fastest components in a modern microservice architecture. Since it&#8217;s an in-memory data store, developers generally expect cache retrieval times to be measured in milliseconds, not seconds.<\/p>\n\n\n\n<p>Recently, we encountered a production incident where Redis cache latency increased dramatically, with a cache fetch that normally completed in 100-800 milliseconds suddenly taking 137 seconds.<\/p>\n\n\n\n<p>The result?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Increased API response times<\/li>\n\n\n\n<li>Thread pool exhaustion<\/li>\n\n\n\n<li>Kafka consumer lag<\/li>\n\n\n\n<li>Cascading delays across more than one microservices<\/li>\n\n\n\n<li>Multiple production alerts and SLA breaches<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>The System Architecture<\/strong><\/h1>\n\n\n\n<p>The application consists of multiple microservices communicating synchronously through REST APIs and asynchronously through Kafka.<\/p>\n\n\n\n<p><strong>Client<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>API Gateway<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Service A<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Redis<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Service B<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Service C<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Service D<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Kafka Consumers<\/strong><\/p>\n\n\n\n<p>Several downstream services depended directly or indirectly on the response from Service A.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>The Incident<\/strong><\/h1>\n\n\n\n<p>Under normal conditions:<\/p>\n\n\n\n<p>Redis cache fetch latency:&nbsp; 100ms &#8211; 800ms<\/p>\n\n\n\n<p>During the incident:<\/p>\n\n\n\n<p>Redis cache fetch latency:&nbsp; 137 seconds<\/p>\n\n\n\n<p>Immediately after this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>API latency increased dramatically.<\/li>\n\n\n\n<li>Request queues started growing.<\/li>\n\n\n\n<li>Thread pools became saturated.<\/li>\n\n\n\n<li>Kafka consumers started lagging.<\/li>\n\n\n\n<li>Dependent services began timing out.<\/li>\n\n\n\n<li>Alerts were triggered across multiple services.<\/li>\n<\/ul>\n\n\n\n<p>At first glance, it appeared to be a Redis issue.<\/p>\n\n\n\n<p>However, the investigation revealed that the problem was much larger than Redis itself.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Why Even 500ms Is High for Redis<\/strong><\/h1>\n\n\n\n<p>Redis is an in-memory database.<\/p>\n\n\n\n<p>Typical response times are:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Environment<\/strong><\/td><td><strong>Expected Latency<\/strong><\/td><\/tr><tr><td>Same Server<\/td><td>&lt;1ms<\/td><\/tr><tr><td>Same VPC<\/td><td>1-5ms<\/td><\/tr><tr><td>Different Availability Zone<\/td><td>5-20ms<\/td><\/tr><tr><td>Cross Region<\/td><td>20-50ms<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding the Cascading Failure<\/strong><\/h2>\n\n\n\n<p>The biggest problem wasn&#8217;t the slow Redis call itself.<\/p>\n\n\n\n<p>The real problem was that every downstream service waited for the response.<\/p>\n\n\n\n<p>Service A<br>\u2193<br>Service B waits<br>\u2193<br>Service C waits<br>\u2193<br>Service D waits<\/p>\n\n\n\n<p>Eventually:<\/p>\n\n\n\n<p>Blocked Threads<br>\u2193<br>Connection Pool Exhaustion<br>\u2193<br>Request Queue Build-up<br>\u2193<br>Increased Latency<br>\u2193<br>Timeouts<br>\u2193<br>System-wide Alarms<\/p>\n\n\n\n<p>This phenomenon is called <strong>Cascading Failure<\/strong><\/p>\n\n\n\n<p>One slow dependency slowly degrades the entire distributed system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Possible Root Causes<\/strong><\/h2>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Redis Connection Pool Exhaustion<\/strong><\/h3>\n\n\n\n<p>One of the most common reasons for long Redis response times.<\/p>\n\n\n\n<p>Suppose:<\/p>\n\n\n\n<p><strong>spring:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;data:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;redis:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lettuce:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max-active: 8<\/strong><\/p>\n\n\n\n<p>If hundreds of requests simultaneously attempt to access Redis, they start waiting for available connections.<\/p>\n\n\n\n<p>The wait time can quickly increase from milliseconds to several minutes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Symptoms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Increased request latency<\/li>\n\n\n\n<li>High thread count<\/li>\n\n\n\n<li>Low Redis CPU usage<\/li>\n\n\n\n<li>High connection wait time<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Cache Stampede<\/strong><\/h3>\n\n\n\n<p>A cache stampede occurs when thousands of requests attempt to load the same key simultaneously.<\/p>\n\n\n\n<p><strong>10,000 Requests<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Same Cache Key<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u2193<\/strong><\/p>\n\n\n\n<p><strong>Heavy Contention<\/strong><\/p>\n\n\n\n<p>The Redis server becomes overloaded, and response times increase significantly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Prevention<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cache warming<\/li>\n\n\n\n<li>Request coalescing<\/li>\n\n\n\n<li>Distributed locks<\/li>\n\n\n\n<li>Stale cache strategy<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Huge Cached Objects<\/strong><\/h3>\n\n\n\n<p>Sometimes applications cache very large objects.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<p>UserProfile<\/p>\n\n\n\n<p>ProductCatalog<\/p>\n\n\n\n<p>MediaMetadata<\/p>\n\n\n\n<p>Large payloads increase:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Serialization time<\/li>\n\n\n\n<li>Deserialization time<\/li>\n\n\n\n<li>Network transfer time<\/li>\n\n\n\n<li>Memory consumption<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Network Problems<\/strong><\/h3>\n\n\n\n<p>Sometimes Redis is perfectly healthy.<\/p>\n\n\n\n<p>The delay comes from:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DNS resolution issues<\/li>\n\n\n\n<li>Packet loss<\/li>\n\n\n\n<li>Cross-region communication<\/li>\n\n\n\n<li>Kubernetes networking problems<\/li>\n\n\n\n<li>Load balancer issues<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Production Investigation Checklist<\/strong><\/h2>\n\n\n\n<p>During incidents like this, investigate the following metrics immediately:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Redis Metrics<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CPU utilization<\/li>\n\n\n\n<li>Memory utilization<\/li>\n\n\n\n<li>Connection count<\/li>\n\n\n\n<li>Slow queries<\/li>\n\n\n\n<li>Network throughput<\/li>\n\n\n\n<li>Cache hit ratio<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Application Metrics<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Thread pool utilization<\/li>\n\n\n\n<li>Connection pool utilization<\/li>\n\n\n\n<li>GC pauses<\/li>\n\n\n\n<li>Heap usage<\/li>\n\n\n\n<li>Request queue size<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Kafka Metrics<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Consumer lag<\/li>\n\n\n\n<li>Processing time<\/li>\n\n\n\n<li>Message backlog<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Immediate Mitigation<\/strong><\/h2>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Fail Fast<\/h3>\n\n\n\n<p>Never allow Redis requests to wait for minutes.<\/p>\n\n\n\n<p><strong>spring:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;data:<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;redis:&nbsp;<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout: 2s<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Use Circuit Breakers<\/h3>\n\n\n\n<p><strong>@CircuitBreaker(name = &#8220;redis&#8221;)<\/strong><\/p>\n\n\n\n<p>If Redis becomes slow:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stop sending requests.<\/li>\n\n\n\n<li>Return fallback responses.<\/li>\n\n\n\n<li>Protect downstream services.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Bulkhead Isolation<\/h3>\n\n\n\n<p><strong>@Bulkhead(name = &#8220;redis&#8221;)<\/strong><\/p>\n\n\n\n<p>Redis failures should not consume all application threads.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Fallback Cache<\/h3>\n\n\n\n<p><strong>return staleCachedData;<\/strong><\/p>\n\n\n\n<p>Returning slightly old data is often better than bringing down the platform.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Monitor Everything<\/h3>\n\n\n\n<p>Important alerts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Redis latency &gt; 50ms<\/li>\n\n\n\n<li>Connection pool usage &gt; 80%<\/li>\n\n\n\n<li>Thread pool utilization &gt; 80%<\/li>\n\n\n\n<li>Kafka consumer lag<\/li>\n\n\n\n<li>Slow query count<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>The biggest lesson from this incident is that in distributed systems, a dependency becoming slow can be more dangerous than a dependency completely failing.<\/p>\n\n\n\n<p>A Redis cache fetch that normally took 100-800 milliseconds suddenly taking 137 seconds was not just a Redis problem, it became a platform-wide problem. The delay propagated across more than one microservices, leading to thread pool exhaustion, increased Kafka consumer lag, service timeouts, and multiple production alerts.<\/p>\n\n\n\n<p>The incident highlighted an important engineering principle: every external dependency, no matter how reliable, can eventually become slow or unavailable. Systems must therefore be designed with resilience in mind.<\/p>\n\n\n\n<p>Implementing proper timeouts, circuit breakers, bulkhead isolation, fallback mechanisms, and comprehensive monitoring ensures that a single slow component cannot bring down an entire ecosystem.<\/p>\n\n\n\n<p>The goal of a resilient microservice architecture is not to prevent failures completely, failures are inevitable. The goal is to contain them, isolate them, and ensure that one service&#8217;s problem never becomes everyone&#8217;s problem.<\/p>\n\n\n\n                \n                    <!--begin code -->\n\n                    \n                    <div class=\"pp-multiple-authors-boxes-wrapper pp-multiple-authors-wrapper pp-multiple-authors-layout-boxed multiple-authors-target-shortcode box-post-id-4414 box-instance-id-1 ppma_boxes_4414\"\n                    data-post_id=\"4414\"\n                    data-instance_id=\"1\"\n                    data-additional_class=\"pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode\"\n                    data-original_class=\"pp-multiple-authors-boxes-wrapper pp-multiple-authors-wrapper box-post-id-4414 box-instance-id-1\">\n                                                                                    <h2 class=\"widget-title box-header-title\">Author<\/h2>\n                                                                            <span class=\"ppma-layout-prefix\"><\/span>\n                        <div class=\"ppma-author-category-wrap\">\n                                                                                                                                    <span class=\"ppma-category-group ppma-category-group-1 category-index-0\">\n                                                                                                                        <ul class=\"pp-multiple-authors-boxes-ul author-ul-0\">\n                                                                                                                                                                                                                                                                                                                                                            \n                                                                                                                    <li class=\"pp-multiple-authors-boxes-li author_index_0 author_pooja-jayan has-avatar\">\n                                                                                                                                                                                    <div class=\"pp-author-boxes-avatar\">\n                                                                    <div class=\"avatar-image\">\n                                                                                                                                                                                                                <img alt='' src='https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png' srcset='https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png' class='multiple_authors_guest_author_avatar avatar' height='80' width='80'\/>                                                                                                                                                                                                            <\/div>\n                                                                                                                                    <\/div>\n                                                            \n                                                            <div class=\"pp-author-boxes-avatar-details\">\n                                                                <div class=\"pp-author-boxes-name multiple-authors-name\"><a href=\"https:\/\/www.xminds.com\/resources\/author\/pooja-jayan\/\" rel=\"author\" title=\"Pooja Jayan\" class=\"author url fn\">Pooja Jayan<\/a><\/div>                                                                                                                                                                                                    \n                                                                                                                                            <p class=\"pp-author-boxes-description multiple-authors-description author-description-0\">\n                                                                                                                                                    <p><strong>Pooja Jayan<\/strong> is a Software Developer with 3.5 years of experience in Java backend development. Specializes in building scalable, high-performance applications using Java, Spring Boot, REST APIs, and microservices.<\/p>\n<p>She has hands-on experience designing and developing backend services, working with relational and NoSQL databases, and collaborating in Agile development environments. Passionate about writing clean, maintainable code, she enjoys solving complex technical challenges and building efficient, reliable software solutions.<\/p>\n                                                                                                                                                <\/p>\n                                                                                                                                                                                                    \n                                                                                                                                \n                                                                                                                            <\/div>\n                                                                                                                                                                                                                        <\/li>\n                                                                                                                                                                                                                                                                                        <\/ul>\n                                                                            <\/span>\n                                                                                                                        <\/div>\n                        <span class=\"ppma-layout-suffix\"><\/span>\n                                            <\/div>\n                    <!--end code -->\n                    \n                \n                            \n        \n","protected":false},"excerpt":{"rendered":"<p>Introduction Redis is often considered one of the fastest components in a modern microservice architecture. Since it&#8217;s an in-memory data store, developers generally expect cache retrieval times to be measured in milliseconds, not seconds. Recently, we encountered a production incident where Redis cache latency increased dramatically, with a cache fetch that normally completed in 100-800 [&hellip;]<\/p>\n","protected":false},"author":123479,"featured_media":4749,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[678],"ppma_author":[721],"class_list":["post-4739","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-show-meta"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Redis Cache Latency and Cascading Failures in Microservices<\/title>\n<meta name=\"description\" content=\"Learn how Redis cache latency triggered cascading failures across microservices and the key strategies to prevent them.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Redis Cache Latency and Cascading Failures in Microservices\" \/>\n<meta property=\"og:description\" content=\"Learn how Redis cache latency triggered cascading failures across microservices and the key strategies to prevent them.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/\" \/>\n<meta property=\"og:site_name\" content=\"Xminds Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Xminds.Solutions\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-17T06:20:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-17T06:45:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png\" \/>\n\t<meta property=\"og:image:width\" content=\"680\" \/>\n\t<meta property=\"og:image:height\" content=\"456\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Pooja Jayan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Xminds\" \/>\n<meta name=\"twitter:site\" content=\"@Xminds\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pooja Jayan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/\",\"url\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/\",\"name\":\"Redis Cache Latency and Cascading Failures in Microservices\",\"isPartOf\":{\"@id\":\"https:\/\/www.xminds.com\/resources\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png\",\"datePublished\":\"2026-07-17T06:20:41+00:00\",\"dateModified\":\"2026-07-17T06:45:47+00:00\",\"author\":{\"@id\":\"https:\/\/www.xminds.com\/resources\/#\/schema\/person\/fc5bc304e05ddcc2d4ac067132fe4132\"},\"description\":\"Learn how Redis cache latency triggered cascading failures across microservices and the key strategies to prevent them.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#primaryimage\",\"url\":\"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png\",\"contentUrl\":\"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png\",\"width\":680,\"height\":456,\"caption\":\"When a 100ms Redis Cache Fetch Suddenly Took 137 Seconds: A Production Postmortem\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.xminds.com\/resources\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"When a 100ms Redis Cache Fetch Suddenly Took 137 Seconds: A Production Postmortem\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.xminds.com\/resources\/#website\",\"url\":\"https:\/\/www.xminds.com\/resources\/\",\"name\":\"Xminds Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.xminds.com\/resources\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.xminds.com\/resources\/#\/schema\/person\/fc5bc304e05ddcc2d4ac067132fe4132\",\"name\":\"Pooja Jayan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.xminds.com\/resources\/#\/schema\/person\/image\/e83dac4ded2a570af2dc798fddd623a8\",\"url\":\"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png\",\"contentUrl\":\"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png\",\"caption\":\"Pooja Jayan\"},\"description\":\"Pooja Jayan is a Software Developer with 3.5 years of experience in Java backend development. Specializes in building scalable, high-performance applications using Java, Spring Boot, REST APIs, and microservices. She has hands-on experience designing and developing backend services, working with relational and NoSQL databases, and collaborating in Agile development environments. Passionate about writing clean, maintainable code, she enjoys solving complex technical challenges and building efficient, reliable software solutions.\",\"sameAs\":[\"https:\/\/www.xminds.com\/\"],\"url\":\"https:\/\/www.xminds.com\/resources\/author\/pooja-jayan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Redis Cache Latency and Cascading Failures in Microservices","description":"Learn how Redis cache latency triggered cascading failures across microservices and the key strategies to prevent them.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/","og_locale":"en_US","og_type":"article","og_title":"Redis Cache Latency and Cascading Failures in Microservices","og_description":"Learn how Redis cache latency triggered cascading failures across microservices and the key strategies to prevent them.","og_url":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/","og_site_name":"Xminds Blog","article_publisher":"https:\/\/www.facebook.com\/Xminds.Solutions\/","article_published_time":"2026-07-17T06:20:41+00:00","article_modified_time":"2026-07-17T06:45:47+00:00","og_image":[{"width":680,"height":456,"url":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png","type":"image\/png"}],"author":"Pooja Jayan","twitter_card":"summary_large_image","twitter_creator":"@Xminds","twitter_site":"@Xminds","twitter_misc":{"Written by":"Pooja Jayan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/","url":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/","name":"Redis Cache Latency and Cascading Failures in Microservices","isPartOf":{"@id":"https:\/\/www.xminds.com\/resources\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#primaryimage"},"image":{"@id":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png","datePublished":"2026-07-17T06:20:41+00:00","dateModified":"2026-07-17T06:45:47+00:00","author":{"@id":"https:\/\/www.xminds.com\/resources\/#\/schema\/person\/fc5bc304e05ddcc2d4ac067132fe4132"},"description":"Learn how Redis cache latency triggered cascading failures across microservices and the key strategies to prevent them.","breadcrumb":{"@id":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#primaryimage","url":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png","contentUrl":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-33.png","width":680,"height":456,"caption":"When a 100ms Redis Cache Fetch Suddenly Took 137 Seconds: A Production Postmortem"},{"@type":"BreadcrumbList","@id":"https:\/\/www.xminds.com\/resources\/when-a-100ms-redis-cache-fetch-suddenly-took-137-seconds-a-production-postmortem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.xminds.com\/resources\/"},{"@type":"ListItem","position":2,"name":"When a 100ms Redis Cache Fetch Suddenly Took 137 Seconds: A Production Postmortem"}]},{"@type":"WebSite","@id":"https:\/\/www.xminds.com\/resources\/#website","url":"https:\/\/www.xminds.com\/resources\/","name":"Xminds Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.xminds.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.xminds.com\/resources\/#\/schema\/person\/fc5bc304e05ddcc2d4ac067132fe4132","name":"Pooja Jayan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.xminds.com\/resources\/#\/schema\/person\/image\/e83dac4ded2a570af2dc798fddd623a8","url":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png","contentUrl":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png","caption":"Pooja Jayan"},"description":"Pooja Jayan is a Software Developer with 3.5 years of experience in Java backend development. Specializes in building scalable, high-performance applications using Java, Spring Boot, REST APIs, and microservices. She has hands-on experience designing and developing backend services, working with relational and NoSQL databases, and collaborating in Agile development environments. Passionate about writing clean, maintainable code, she enjoys solving complex technical challenges and building efficient, reliable software solutions.","sameAs":["https:\/\/www.xminds.com\/"],"url":"https:\/\/www.xminds.com\/resources\/author\/pooja-jayan\/"}]}},"authors":[{"term_id":721,"user_id":123479,"is_guest":0,"slug":"pooja-jayan","display_name":"Pooja Jayan","avatar_url":{"url":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png","url2x":"https:\/\/www.xminds.com\/resources\/wp-content\/uploads\/image-34-1.png"},"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/posts\/4739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/users\/123479"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/comments?post=4739"}],"version-history":[{"count":13,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/posts\/4739\/revisions"}],"predecessor-version":[{"id":4756,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/posts\/4739\/revisions\/4756"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/media\/4749"}],"wp:attachment":[{"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/media?parent=4739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/categories?post=4739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/tags?post=4739"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.xminds.com\/resources\/wp-json\/wp\/v2\/ppma_author?post=4739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}