gpt4 book ai didi

java - Spring Cacheable 实现类

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:48:00 26 4
gpt4 key购买 nike

我正在尝试以某种方式“调试”我使用 spring boot 缓存注释的应用程序,为此我想知道如何找到实际实现接口(interface) Cacheable、CacheConfig 等的类。

我的想法是确认缓存正在被填充、清空等。

非常感谢您的帮助,

最佳答案

@Cacheable 用于划分可缓存的方法 - 也就是说,将结果存储到缓存中的方法,以便在后续调用(使用相同的参数)时,缓存中的值无需实际执行该方法即可返回。在最简单的形式中,注解声明需要与注解方法关联的缓存名称:

@Cacheable("books")
public Book findBook(ISBN isbn) {...}

在上面的代码片段中,方法 findBook 与名为 books 的缓存相关联。每次调用该方法时,都会检查缓存以查看调用是否已经执行并且不必重复。虽然在大多数情况下,只声明一个缓存,但注解允许指定多个名称,以便使用多个缓存。在这种情况下,将在执行该方法之前检查每个缓存 - 如果至少命中一个缓存,则将返回关联的值。

有关更多信息,请阅读以下内容;

https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache

Spring 使用ConcurrentHashMap 作为默认的缓存实现。

public class ConcurrentMapCache extends AbstractValueAdaptingCache

另一方面,如果您需要不同的缓存,那么 Spring 还提供了一个内置的 ehCache 包装器。好消息是在 Spring 的缓存实现之间进行交换很容易。理论上,这完全是配置问题。

关于java - Spring Cacheable 实现类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com