gpt4 book ai didi

java - 记录 Ehcache 获取请求

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:47 25 4
gpt4 key购买 nike

我正在尝试编写一个类来跟踪所有 Ehcache GET 请求。对于痴迷于性能的人 - 这只会出于调试目的而打开。

我可以看到以下三个可用选项:

1) 编写 net.sf.ehcache.event.CacheEventListener 的实现。这将是我的首选方式,但它只有 PUT/REMOVE/等。钩子(Hook)。没有获取。哦!

2) 编写 net.sf.ehcache.statistics.CacheUsageListener 的实现。这种方法的问题在于,这个接口(interface)更多地是为统计而设计的,甚至不提供对当前缓存键/元素等内容的访问,因此我必须进行可怕的黑客攻击(想想:通过 ThreadLocal 共享状态)来实现我想要的。恶心!

3) 编写一个 Ehcache 包装器,并通过它引导所有请求。非常痛苦,因为我们以不同的方式使用 Ehcache(使用 Hibernate 和不使用 Hibernate),这意味着我必须为所有这些不同的情况编写不同的包装器。增加了维护的麻烦,而且并不精确,因为无法知道,例如 GET 操作是否遇到了过时的条目。

还有其他我错过的选择吗?

最佳答案

第四个选项是为 net.sf.ehcache.Cache 启用调试级别日志记录,并为要跟踪信息的缓存启用缓存统计信息。然后你会得到“Cache:” + getName() + “store hit for “+ key” 或 “configuration.getName() + “cache hit, but element expired”” 日志语句...对于未命中也是如此。

关于java - 记录 Ehcache 获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7953980/

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