ConcurrentHashMap + CompletableFuture并发缓存加载方案
介绍 使用缓存时候,如果缓存中没有数据,通常会去数据库查询。为了避免多个线程同时查询同一数据导致的重复查询,经常是会使用锁来保证同一时间只有一个线程去查询数据。 但是锁会导致性能下降,尤其是高并发场景下。 因此可以使用 ConcurrentHashMap 和 CompletableFuture 来实现并发缓存加载。 源码 import java.util.concurrent.Completabl