系统架构教程第9章:缓存架构

本地缓存

本地缓存是指在应用程序内部实现的缓存,数据存储在应用程序的内存空间中。本地缓存访问速度快,但受限于单机内存大小。

本地缓存的特点

高性能

无网络开销,访问速度极快,延迟通常在微秒级别。

高可靠

不依赖外部系统,避免网络故障和缓存服务器宕机。

低成本

无需额外的缓存服务器,降低系统复杂度和运维成本。

容量限制

受限于单机内存,无法存储大量数据,存在数据一致性问题。

常见的本地缓存实现

// Java中的本地缓存示例

// 1. 使用ConcurrentHashMap实现简单缓存

public class SimpleCache {

private final ConcurrentHashMap cache = new ConcurrentHashMap<>();

public V get(K key) {

return cache.get(key);

}

public void put(K key, V value) {

cache.put(key, value);

}

}

// 2. 使用Caffeine实现高性能缓存

Cache cache = Caffeine.newBuilder()

.maximumSize(10000)

.expireAfterWrite(Duration.ofMinutes(10))

.build();

// 3. 使用Guava Cache

LoadingCache cache = CacheBuilder.newBuilder()

.maximumSize(1000)

.expireAfterAccess(30, TimeUnit.MINUTES)

.build(new CacheLoader() {

public String load(String key) {

return loadFromDatabase(key);

}

});