Spring Cache 怎么通过 CacheManager 获取 Cache 对象,然后调用 Cache 对象的 put 方法将数据放入缓存中。
时间: 2023-11-22 19:12:28 浏览: 163
要通过 CacheManager 获取 Cache 对象,需要先在 Spring 上下文中配置 CacheManager 的实现类,如下所示:
```java
@Configuration
@EnableCaching
public class CacheConfig extends CachingConfigurerSupport {
@Bean
public CacheManager cacheManager() {
// 创建一个基于 Guava 的 CacheManager
CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().maximumSize(10000).expireAfterWrite(10, TimeUnit.MINUTES);
GuavaCacheManager cacheManager = new GuavaCacheManager();
cacheManager.setCacheBuilder(cacheBuilder);
return cacheManager;
}
}
```
上述代码中,我们创建了一个基于 Guava 的 CacheManager,并将其设置为 Spring 的缓存管理器。
然后,在需要向缓存中写入数据的方法中,可以通过 CacheManager 的 getCache 方法获取对应的 Cache 对象,然后调用 Cache 对象的 put 方法将数据放入缓存中,如下所示:
```java
@Autowired
private CacheManager cacheManager;
public void writeToCache(String key, Object value) {
Cache cache = cacheManager.getCache("myCache");
cache.put(key, value);
}
```
上述代码中,我们通过 CacheManager 的 getCache 方法获取名为 "myCache" 的 Cache 对象,然后调用 Cache 对象的 put 方法将数据放入缓存中。
阅读全文