Cache Consistency Patterns: Implementing Delayed Double Deletion with Spring Boot AOP and Redis
Understanding the Consistency Challenge
In high-concurrency environments, siumltaneous database mutations create temporal windows where Redis caches diverge from persistent storage. Consider two concurrent update threads:
Thread Alpha: Updates database record → Updates cache entry
Thread Beta: Updates database record → Updates cache entry
Exe ...
Posted on Tue, 26 May 2026 19:52:39 +0000 by zulubanshee
Building a Minimal Blockchain from the Ground Up
Blockchain is a decentralized, tamper-resistant technology for recording data. It consists of a chain of data blocks, where each block contains transaction records and metadata. Every block connects to its predecessor through cryptographic hash functions, forming an ever-growing chain.
This article walks through blockchain fundamentals via impl ...
Posted on Sun, 24 May 2026 16:44:53 +0000 by chrisredding
Practical Redis: Session Management, Caching, Flash Sales, and Advanced Data Structures
Stateless Authentication with RedisIn a distributed architecture, relying on Tomcat's local sessions for user state leads to inconsistencies across instances. Redis serves as a centralized session store to solve this. When a user logs in via SMS, a unique token is generated and stored in Redis as the key, with the serialized user DTO as the val ...
Posted on Thu, 21 May 2026 18:30:50 +0000 by JohnN4
Parallel Matrix Multiplication in Julia
In this notebook, we will:
Parallelize a simple algorithm
Learn about the performance of different parallel strategies
Implement the parallelization in Julia
Problem Description
Asssumptions
All matrices, including A, B, and C, are initially stored on the master process.
The final result will overwrite the matrix C.
Steps
To implement paral ...
Posted on Wed, 20 May 2026 04:43:01 +0000 by reeferd
Scheduling Tasks in Distributed Environments: Common Pitfalls and Solutions
Setting Up the Basic Environment
To demonstrate common issues with scheduled tasks in distributed systems, we start by configuring a basic Spring Boot application with scheudling capabilities.
Dependencies
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId& ...
Posted on Tue, 19 May 2026 17:41:47 +0000 by Marijnn
Ensuring Redis Cache and Database Consistency with Delayed Double Deletion
Redis Cache and Database Consistency
Caching improves performance and reduces database load, but introduces potential inconsistencies between cached data and the database. Inconsistent data leads to stale reads from the cache.
Non-Concurrency Scenarios
Update Cache First, Then Database
If cache udpate succeeds but database update fails, the cac ...
Posted on Mon, 18 May 2026 21:24:00 +0000 by DwarV
Addressing Cache Anomalies and Advanced Redis Mechanisms
Cache Anomalies
Cache Penetration: Requested data does not exist in the system.
Use a Bloom filter.
Cache Breakdown: A hot key expires.
Implement mutual exclusion locks.
Apply logical expiration (no actual TTL set).
Cache Avalanche: Numerous keys expire simultaneously.
Assign random expiration times.
Deploy a Redis cluster.
Cache Pen ...
Posted on Fri, 15 May 2026 18:47:14 +0000 by tekkenlord
Distributed Process Communication Protocols: Gossip Models and P2P Lookup Algorithms
Gossip Protocol
The Gossip (Epidemic) Protocol facilitates data synchronization across nodes in distributed systems.
Node states are defined as:
S (Susceptible): Unaware of updates
I (Infected): Aware of updates and actively propagating them
R (Removed): Completed updates, no longer participating in propagation
SI Model Implementation
# Initi ...
Posted on Mon, 11 May 2026 12:33:25 +0000 by lm_a_dope
Technical Problem-Solving Strategies for Software Engineering Interviews
Addressing Common Technical Challenges in Interviews
Large Data Volume Challenges
Case Study: In a rapidly growing e-commerce platform, the database struggles to handle the exponential increase in product catalog data, causing significant delays in search operations and product recommendations.
Solutions:
Database Sharding: Implement a shardin ...
Posted on Sun, 10 May 2026 10:42:17 +0000 by magicmoose
Using UUIDv7 as Database Primary Keys
A persistent misconception in software engineering is that universally unique identifiers (UUIDs) are inherently unsuitable for database primary keys. The rationale stems from the fact that standard random UUIDs cause index fragmentation and frequent B-tree page splits during inserts due to their lack of sequential ordering.UUID SpecificationsD ...
Posted on Sat, 09 May 2026 17:42:27 +0000 by akelavlk