Tagged articles
72 articles
Page 1 of 1
MaGe Linux Operations
MaGe Linux Operations
Apr 30, 2026 · Databases

How a Redis Connection Saturation Triggered a Service Avalanche – A Detailed Investigation

An online education platform experienced a massive outage when Redis hit its maxclients limit, causing authentication, session, and cache services to fail, which cascaded into a business avalanche; the article walks through the connection mechanism, root‑cause analysis, rapid mitigation steps, and long‑term safeguards.

Connection PoolJedisOperations
0 likes · 20 min read
How a Redis Connection Saturation Triggered a Service Avalanche – A Detailed Investigation
java1234
java1234
Feb 26, 2026 · Databases

Can Redis Cluster Lose Writes? Why and How to Prevent Them

Redis Cluster can lose writes due to asynchronous replication, network partitions, inadequate persistence settings, or unconfirmed client operations, but enabling AOF, configuring replication acknowledgments, using Sentinel or built‑in HA, and adding client retry logic can mitigate these risks, as demonstrated with a Java Jedis example.

AOFJavaJedis
0 likes · 7 min read
Can Redis Cluster Lose Writes? Why and How to Prevent Them
java1234
java1234
Jan 20, 2026 · Databases

Understanding Redis Memory Eviction Strategies

Redis stores data in memory, so when usage reaches the maxmemory limit it triggers one of six eviction policies—noeviction, allkeys‑lru, volatile‑lru, allkeys‑random, volatile‑random, and volatile‑ttl—each suited to different scenarios, and can be set via redis.conf or CONFIG SET, as illustrated with a Java Jedis example.

JavaJedisLRU
0 likes · 6 min read
Understanding Redis Memory Eviction Strategies
java1234
java1234
Jan 17, 2026 · Databases

Do Expired Redis Keys Get Deleted Instantly?

Redis uses both time‑based and lazy expiration, marking keys as expired at their TTL but only removing them on the next access or during periodic cleanup, so expired keys are not deleted the instant they expire.

JavaJedisKey Expiration
0 likes · 5 min read
Do Expired Redis Keys Get Deleted Instantly?
Ray's Galactic Tech
Ray's Galactic Tech
Nov 9, 2025 · Databases

Mastering Redis Expiration: Strategies, Java Implementation, and Best Practices

Redis uses multiple expiration and eviction mechanisms—including lazy deletion, periodic scanning, and memory eviction—to balance performance and memory usage, and this guide explains each strategy, shows how to configure them, and provides Java/Jedis code examples for setting TTLs, handling large objects, preventing cache avalanches, and monitoring stats.

CacheExpirationJava
0 likes · 7 min read
Mastering Redis Expiration: Strategies, Java Implementation, and Best Practices
Raymond Ops
Raymond Ops
Sep 5, 2025 · Databases

Why Redis Needs a Cluster: Step‑by‑Step Setup, Configuration & Best Practices

This guide explains the need for Redis clustering to achieve high availability, walks through Redis 3.0's decentralized cluster configuration, shows how to modify redis.conf, start multiple nodes, create the cluster, use hash slots, handle failures, and connect via Java Jedis, highlighting both advantages and limitations.

ClusterConfigurationJava
0 likes · 13 min read
Why Redis Needs a Cluster: Step‑by‑Step Setup, Configuration & Best Practices
Liangxu Linux
Liangxu Linux
Apr 8, 2025 · Databases

How to Build a High‑Availability Redis Cluster Without Centralized Configuration

This guide explains why Redis clustering is needed for capacity, concurrency and failover, describes Redis 3.0's decentralized cluster architecture, provides step‑by‑step commands to configure, launch and combine six nodes into a cluster, demonstrates slot calculations, client usage with Jedis, and outlines fault recovery, pros and cons, and cleanup procedures.

ClusterDevOpsJedis
0 likes · 24 min read
How to Build a High‑Availability Redis Cluster Without Centralized Configuration
Sohu Tech Products
Sohu Tech Products
Feb 19, 2025 · Backend Development

Using Apache Commons Pool for Object Pooling and Jedis Connection Pool in Java

The article explains how to use Apache Commons Pool to create reusable object pools in Java—showing Maven setup, a custom PooledObjectFactory, pool configuration, borrowing and returning objects, and demonstrates a Redis Jedis connection pool built on the same framework while detailing the pool’s initialization, borrowing, and return mechanisms.

Apache Commons PoolConnection PoolJava
0 likes · 8 min read
Using Apache Commons Pool for Object Pooling and Jedis Connection Pool in Java
Java Architect Essentials
Java Architect Essentials
Dec 25, 2024 · Backend Development

Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP Performance

This article explains the principles of object pooling in Java, introduces the Commons Pool 2 library and its use in Redis client Jedis, compares pool and non‑pool performance with JMH benchmarks, and details the fast HikariCP database connection pool along with configuration tips and interview questions.

Commons-PoolConnection PoolHikariCP
0 likes · 15 min read
Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP Performance
macrozheng
macrozheng
Oct 8, 2024 · Databases

Why RediSearch Beats Elasticsearch on Low‑End Servers: A Hands‑On Comparison

This article introduces RediSearch, compares its memory usage and query performance with Elasticsearch on modest hardware, shows installation steps, demonstrates core index commands and Java integration, and concludes with practical advice on using RediSearch as a lightweight full‑text search engine.

ElasticsearchFull‑Text SearchJava
0 likes · 11 min read
Why RediSearch Beats Elasticsearch on Low‑End Servers: A Hands‑On Comparison
Java Architect Essentials
Java Architect Essentials
Feb 20, 2024 · Backend Development

Why Did Our API Hang? Uncovering Redis Connection Pool Blocking in Spring Boot

A week‑long API freeze in a sandbox environment was traced to Redis connection pool misconfiguration, where threads waited indefinitely for a Jedis resource, leading to Tomcat request threads blocking and 500 errors, and the issue was resolved by adjusting pool settings and using proper connection release patterns.

BackendConnection PoolDebugging
0 likes · 9 min read
Why Did Our API Hang? Uncovering Redis Connection Pool Blocking in Spring Boot
DeWu Technology
DeWu Technology
Dec 25, 2023 · Databases

Jedis Connection Pool: Principles, Configuration, and Troubleshooting

Jedis uses Apache Commons’ GenericObjectPool to manage Redis connections, with Spring‑Data‑Redis creating a JedisConnectionFactory that holds a configurable pool where borrowObject and returnObject handle idle queues, eviction and validation settings (testOnBorrow, testWhileIdle, etc.) can be tuned, and JMX metrics aid troubleshooting.

ConnectionPoolGenericObjectPoolJava
0 likes · 10 min read
Jedis Connection Pool: Principles, Configuration, and Troubleshooting
Efficient Ops
Efficient Ops
Dec 3, 2023 · Backend Development

Why Our Redis Cluster Pipeline Deadlocked: Thread Locks Explained

This article walks through a production incident where a Redis Cluster pipeline caused Dubbo threads to block and eventually deadlock, detailing the root‑cause analysis, code inspection, and verification steps using jstack, jmap, and MAT to confirm the deadlock and propose fixes.

JavaJedisPipeline
0 likes · 13 min read
Why Our Redis Cluster Pipeline Deadlocked: Thread Locks Explained
Architecture Digest
Architecture Digest
Oct 26, 2023 · Backend Development

Diagnosing and Resolving Redis Connection Pool Blocking in a Spring Boot Application

The article details a week‑long investigation of a sandbox environment where Spring Boot APIs became unresponsive due to Redis connection pool blocking, describing the use of system tools, JVM thread analysis, and code inspection to identify mis‑configured pool settings and recommending proper connection handling with Spring's RedisTemplate.

ArthasConnection PoolDebugging
0 likes · 8 min read
Diagnosing and Resolving Redis Connection Pool Blocking in a Spring Boot Application
Efficient Ops
Efficient Ops
Oct 23, 2023 · Operations

Why Redis Failed: Jedis Misconfigurations That Spark Service Avalanches

This article examines a Redis 3.x cluster failure caused by a master‑slave switch, detailing how improper Jedis timeout and retry settings triggered a service avalanche, and provides step‑by‑step analysis of the incident, code paths, and recommended configuration adjustments to prevent recurrence.

JedisService Avalancheconnection timeout
0 likes · 12 min read
Why Redis Failed: Jedis Misconfigurations That Spark Service Avalanches
vivo Internet Technology
vivo Internet Technology
Oct 11, 2023 · Backend Development

Investigation of Dubbo Thread‑Pool Exhaustion Caused by Redis Cluster Pipeline Deadlock

The article details how a Dubbo thread‑pool exhaustion incident was traced to a deadlock in Redis Cluster pipeline usage, caused by Jedis pools lacking a borrow timeout, which let threads block indefinitely while holding cross‑node connections, and recommends configuring maxWaitMillis or enlarging the pool to prevent recurrence.

DubboJavaJedis
0 likes · 14 min read
Investigation of Dubbo Thread‑Pool Exhaustion Caused by Redis Cluster Pipeline Deadlock
Sohu Tech Products
Sohu Tech Products
Aug 23, 2023 · Backend Development

Analysis of Service Avalanche Caused by Jedis Parameter Misconfiguration During Redis Cluster Failover

During a Redis 3.x cluster master‑slave failover, the default Jedis connection timeout of two seconds combined with six automatic retries caused each request’s Redis calls to accumulate up to sixty seconds of latency, triggering Nginx timeouts and a service‑avalanche, which was resolved by lowering timeout and retry settings.

Backend DevelopmentCluster FailoverConnection Retry
0 likes · 13 min read
Analysis of Service Avalanche Caused by Jedis Parameter Misconfiguration During Redis Cluster Failover
vivo Internet Technology
vivo Internet Technology
Jul 19, 2023 · Databases

Analysis of Service Avalanche Caused by Misconfigured Jedis Parameters During Redis Cluster Master‑Slave Switch

A service‑wide avalanche occurred when a Redis 3.x master‑slave failover coincided with Jedis’ default 2‑second connection timeout and six retry attempts, causing up to 60‑second latencies; adjusting connectionTimeout, soTimeout to 100 ms and reducing maxAttempts to two limited latency to about one second and prevented cascade failures.

ClusterConnection RetryJedis
0 likes · 13 min read
Analysis of Service Avalanche Caused by Misconfigured Jedis Parameters During Redis Cluster Master‑Slave Switch
Selected Java Interview Questions
Selected Java Interview Questions
Jun 2, 2023 · Backend Development

Java Connection Pooling: Commons Pool 2, Jedis, and HikariCP

This article explains the principles of object pooling in Java, introduces the Commons Pool 2 library, demonstrates its use with Redis client Jedis, compares performance with JMH benchmarks, and discusses the high‑performance HikariCP database connection pool, including configuration tips and interview questions.

Commons-PoolConnection PoolHikariCP
0 likes · 14 min read
Java Connection Pooling: Commons Pool 2, Jedis, and HikariCP
Architect's Tech Stack
Architect's Tech Stack
May 24, 2023 · Backend Development

Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP

This article explains the principles of object pooling in Java, introduces the Commons Pool 2 library, demonstrates its use with Redis client Jedis, compares performance with JMH benchmarks, and details the configuration and advantages of the high‑performance HikariCP database connection pool.

Commons-PoolConnection PoolHikariCP
0 likes · 17 min read
Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP
macrozheng
macrozheng
Jan 12, 2023 · Databases

Choosing the Right Java Redis Client: Jedis vs Lettuce vs Redisson

This article compares three popular Java Redis clients—Jedis, Lettuce, and Redisson—detailing their advantages, drawbacks, and recommended usage scenarios, helping developers select the most suitable client based on performance, thread safety, and advanced Redis features such as clustering, sentinel, and distributed locks.

Client ComparisonJavaJedis
0 likes · 9 min read
Choosing the Right Java Redis Client: Jedis vs Lettuce vs Redisson
ITPUB
ITPUB
Nov 26, 2022 · Databases

Mastering Redis Distributed Locks with Jedis: A Step‑by‑Step Guide

This article introduces Redis’s evolution, key features for distributed locking, explains lock and unlock workflows with Jedis, presents Java code examples, discusses pitfalls like non‑atomic operations, and offers configuration and performance tuning tips for reliable, high‑availability lock services.

JavaJedisdatabase
0 likes · 20 min read
Mastering Redis Distributed Locks with Jedis: A Step‑by‑Step Guide
Code Ape Tech Column
Code Ape Tech Column
Aug 1, 2022 · Backend Development

Understanding Object Pooling in Java: Commons Pool 2, Jedis, and HikariCP

This article explains how object pooling in Java—using Commons Pool 2, the Jedis Redis client, and the HikariCP database connection pool—can dramatically improve performance by reusing expensive resources, detailing key configuration parameters, benchmark results, and practical tuning advice.

Commons Pool 2HikariCPJava
0 likes · 13 min read
Understanding Object Pooling in Java: Commons Pool 2, Jedis, and HikariCP
FunTester
FunTester
Jul 8, 2022 · Backend Development

How to Benchmark Redis Stream Java APIs with Dynamic Threads and QPS

This article walks through designing three Redis Stream performance test cases—adding, reading, and add‑delete—using dynamic thread and dynamic QPS models in Java, provides complete Groovy‑based test code, and shows sample console output for evaluating throughput and latency.

Dynamic ThreadsJavaJedis
0 likes · 8 min read
How to Benchmark Redis Stream Java APIs with Dynamic Threads and QPS
FunTester
FunTester
Jun 10, 2022 · Databases

Using Redis Stream with Jedis: Basic Operations and Code Examples

This article introduces Redis Stream—a persistent message queue added in Redis 5.0—and demonstrates how to set up dependencies, use Java Jedis to perform core operations such as XADD, XTRIM, XDEL, XLEN, XREAD, and XRANGE, with complete code examples for each.

JavaJedisMessage Queue
0 likes · 9 min read
Using Redis Stream with Jedis: Basic Operations and Code Examples
Java High-Performance Architecture
Java High-Performance Architecture
Apr 10, 2022 · Backend Development

Mastering Redis Distributed Locks with Jedis: Build a 100k-User Flash Sale Simulation

This article demonstrates how to implement Redis distributed locks using Jedis in Java, covering lock creation with SETNX, lock release via Lua scripts, and a high‑concurrency flash‑sale simulation with 100,000 virtual users, illustrating key concepts such as lock expiration, atomic operations, and performance testing.

JavaJedisSpringBoot
0 likes · 10 min read
Mastering Redis Distributed Locks with Jedis: Build a 100k-User Flash Sale Simulation
Top Architect
Top Architect
Jan 22, 2022 · Databases

Differences Among Jedis, Redisson, and Lettuce and Their Usage in Spring Boot

This article compares the Java Redis clients Jedis, Redisson, and Lettuce, explains their distinct features and thread‑safety models, and provides detailed Spring Boot configuration and code examples for using RedisTemplate, RedissonClient, and annotation‑based caching to implement distributed locks, hash operations, and cache management.

JavaJedisLettuce
0 likes · 13 min read
Differences Among Jedis, Redisson, and Lettuce and Their Usage in Spring Boot
Architect's Tech Stack
Architect's Tech Stack
Jan 11, 2022 · Backend Development

Diagnosing Redis Connection Pool Blocking in a Spring Boot Application

The article details a week‑long investigation of unresponsive APIs in a sandbox environment, tracing the root cause to Redis connection pool blocking in a Spring Boot service, and presents step‑by‑step debugging, code analysis, configuration fixes, and best‑practice recommendations for proper Redis usage.

ArthasConnection PoolDebugging
0 likes · 9 min read
Diagnosing Redis Connection Pool Blocking in a Spring Boot Application
Top Architect
Top Architect
Jan 2, 2022 · Backend Development

Debugging Redis Connection Pool Blocking Issues in a Spring Backend Application

The article details a step‑by‑step investigation of a Spring‑based backend where API requests hung due to Redis connection pool misconfiguration, showing how thread dumps, jstack, and Arthas were used to pinpoint blocking in Jedis pool acquisition, and provides corrected configuration and proper connection handling recommendations.

Connection PoolDebuggingJedis
0 likes · 9 min read
Debugging Redis Connection Pool Blocking Issues in a Spring Backend Application
IT Architects Alliance
IT Architects Alliance
Dec 17, 2021 · Databases

Comparison of Jedis, Redisson, and Lettuce and Their Integration with Spring Boot

This article compares the three popular Java Redis clients—Jedis, Redisson, and Lettuce—detailing their differences in threading, I/O, and feature sets, and provides comprehensive Spring Boot configuration and code examples for using StringRedisTemplate, RedissonClient, and Spring Cache annotations to implement caching and distributed locks.

JavaJedisLettuce
0 likes · 11 min read
Comparison of Jedis, Redisson, and Lettuce and Their Integration with Spring Boot
Programmer DD
Programmer DD
Nov 30, 2021 · Backend Development

Mastering Redis Distributed Locks with Jedis: A Hands‑On Guide

This tutorial demonstrates how to implement Redis distributed locks in Java using Jedis, covering lock creation with SETNX, expiration handling, safe unlocking via Lua scripts, and a high‑concurrency simulation of 100,000 users competing for limited stock.

JavaJedisSpring Boot
0 likes · 9 min read
Mastering Redis Distributed Locks with Jedis: A Hands‑On Guide
vivo Internet Technology
vivo Internet Technology
Oct 27, 2021 · Databases

Analysis of Jedis Client Access Modes and Implementation Details

The article examines Jedis 3.5.0’s three Redis access modes—single‑node via Jedis, sharding via ShardedJedis, and cluster via JedisCluster—detailing their class hierarchies, connection handling, consistent‑hashing and slot logic, and how pipelines boost throughput while respecting mode‑specific constraints.

ClusterJavaJedis
0 likes · 23 min read
Analysis of Jedis Client Access Modes and Implementation Details
Java Architect Essentials
Java Architect Essentials
Sep 29, 2021 · Databases

Differences Among Jedis, Redisson, Lettuce and Using RedisTemplate & RedissonClient in Spring Boot

This article compares the Java Redis clients Jedis, Redisson, and Lettuce, explains their distinct features and thread‑safety, and provides detailed Spring Boot configurations and code examples for RedisTemplate, RedissonClient, and cache annotations to implement caching, distributed locks, and atomic operations.

JavaJedisLettuce
0 likes · 13 min read
Differences Among Jedis, Redisson, Lettuce and Using RedisTemplate & RedissonClient in Spring Boot
Top Architect
Top Architect
Aug 24, 2021 · Databases

Redis Architecture Options and Deployment Guide

This article reviews Redis's latest features and compares various deployment architectures—including single‑replica, dual‑replica, cluster, and read‑write‑separation modes—detailing their reliability, performance characteristics, suitable use cases, and provides a Java Jedis example for configuring a direct‑connect cluster.

ClusterJavaJedis
0 likes · 12 min read
Redis Architecture Options and Deployment Guide
Architect
Architect
Jul 20, 2021 · Databases

Redis New Features and Architecture Options Overview

This article reviews Redis 6.0 and 5.0 new features, compares deployment architectures such as cluster, master-replica, and read-write split, and provides Java connection-pool code examples to help engineers select the appropriate Redis setup for performance, reliability, and scalability requirements.

ClusterDatabase ArchitectureJava
0 likes · 11 min read
Redis New Features and Architecture Options Overview
vivo Internet Technology
vivo Internet Technology
Jul 7, 2021 · Databases

Lettuce vs Jedis: Features, Usage, and Comparison of Java Redis Clients

Lettuce, a thread‑safe, Netty‑based Java Redis client supporting synchronous, asynchronous, reactive, Cluster, Sentinel, pipelining and custom codecs, outperforms Jedis’s non‑thread‑safe pooled connections by reducing resource consumption, simplifying Spring integration, and offering advanced features like read‑write splitting, topology refresh, and optional pooling for high‑throughput applications.

AsyncConnection PoolJava
0 likes · 15 min read
Lettuce vs Jedis: Features, Usage, and Comparison of Java Redis Clients
Programmer DD
Programmer DD
Jun 23, 2021 · Backend Development

Why Spring Boot APIs Hang: Debugging a Redis Connection Pool Deadlock

A week‑long API freeze in a sandbox environment was traced to Redis connection pool deadlocks caused by missing pool configuration and improper connection handling, and the article walks through the diagnosis with top, jstack, Arthas, and the code changes needed to fix it.

ArthasConnection PoolDebugging
0 likes · 9 min read
Why Spring Boot APIs Hang: Debugging a Redis Connection Pool Deadlock
Aikesheng Open Source Community
Aikesheng Open Source Community
Jun 16, 2021 · Databases

High‑Availability Strategies for Redis: Sentinel Service Discovery, VIP Binding, Keepalived VRRP, and Proxy Approaches

The article explains various Redis high‑availability solutions—including Sentinel service discovery, VIP binding, keepalived VRRP, and proxy middleware—for both master‑slave and cluster architectures, and shows how clients can reliably locate the current master node after failover.

JedisProxyhigh availability
0 likes · 7 min read
High‑Availability Strategies for Redis: Sentinel Service Discovery, VIP Binding, Keepalived VRRP, and Proxy Approaches
Java Backend Technology
Java Backend Technology
Jun 12, 2021 · Databases

Why My Spring API Stalled: Debugging Redis Connection Pool Blocking

A Spring‑based service repeatedly hung because Redis connections were never returned to the pool, leading to thread starvation; the article walks through the investigation using top, jstack, Arthas, and code analysis, then shows the proper way to use RedisCallback and release connections to prevent the deadlock.

Connection PoolDebuggingJava
0 likes · 9 min read
Why My Spring API Stalled: Debugging Redis Connection Pool Blocking
Java Interview Crash Guide
Java Interview Crash Guide
Jun 8, 2021 · Backend Development

Why Did Our Spring API Hang? Uncovering Redis Connection Pool Blocking

After a week of intermittent API hangs in an internal sandbox, we traced the issue to Redis connection pool blocking caused by missing max‑wait configuration, leading to threads waiting indefinitely; by adjusting Jedis pool settings, using proper connection release, and avoiding unsupported commands, the deadlock was resolved.

Connection PoolDebuggingJava
0 likes · 9 min read
Why Did Our Spring API Hang? Uncovering Redis Connection Pool Blocking
Yanxuan Tech Team
Yanxuan Tech Team
May 12, 2020 · Backend Development

Why G1GC Slowed Down During Load Test and How ParallelRefProc Fixed It

During a full‑chain load test, latency spikes were traced to a slow G1GC pause caused by single‑threaded reference processing of many Finalizer objects, which originated from an over‑aggressive Jedis connection pool; enabling the JVM flag -XX:+ParallelRefProcEnabled eliminated the bottleneck and restored performance.

GC performanceJedisParallelRefProc
0 likes · 8 min read
Why G1GC Slowed Down During Load Test and How ParallelRefProc Fixed It
Programmer DD
Programmer DD
Mar 17, 2018 · Backend Development

How to Optimize JedisPool Settings for High‑Performance Redis Connections

This article explains how to correctly configure JedisPool and its underlying GenericObjectPoolConfig, provides Maven dependency details, demonstrates pool initialization and usage patterns, and offers practical recommendations for maxTotal, maxIdle, minIdle, idle monitoring, and warm‑up to ensure stable and efficient Redis operations in Java applications.

ConfigurationConnection PoolJava
0 likes · 9 min read
How to Optimize JedisPool Settings for High‑Performance Redis Connections