使用@Cacheable Spring批注并手动添加到Infinispan Cache

时间:2019-07-17 19:55:40

标签: spring-boot caching infinispan

我正在尝试在应用程序启动之前从冷启动加载缓存。这样做是为了使用户在访问服务器后就可以使用值,而不必访问我的数据库。

@Spring的@Cacheable功能都很好用,问题是我如何在Cache中手动存储对象,以便在执行函数时可以读取它们。

Spring会以某种方式将这些对象存储在字节中,而在我手动加载缓存时,我需要模仿这个对象。我只是想弄清楚它们如何处理函数中的返回对象,以键对,val对的形式存储到缓存中。

2 个答案:

答案 0 :(得分:0)

您可以使用Spring的CacheManager以编程方式访问任何缓存。

请参见https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cache/CacheManager.html

var cache = cacheManager.getCache("foo");

cache.put(key, value);

答案 1 :(得分:0)

我能够通过将值存储为字符串键和对象值来解决此问题-与Spring @Cacheable批注完美配合。如果对象在缓存中找到,则对象将由Spring强制转换为返回类型。