使用@Cacheable Spring 注释并手动添加到 Infinispan 缓存



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

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

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

您可以使用

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);

我能够通过将值存储为字符串键和对象值来解决这个问题 - 这与Spring @Cacheable注释非常有效。 如果在缓存中找到对象,则由 Spring 将强制转换为返回类型。

最新更新