我想缓存重方法的结果,但我出于某种原因,它不会存储在缓存中。
我尝试过使用Spring缓存,但它只在缓存整个api时起作用,我只需要缓存其中的一部分。
@ResponseBody
public Person validateTest(@Param("name") String name) {
return cache(name);
}
@Cacheable(value = "getName", key = "#name")
public Person cache(String name) {
Person person = generateString(name);
return person;
}
public Person generateString(String name) {
System.out.println("generating");
Person person = new Person();
person.setName(name);
return person;
}
@Data
class Person implements Serializable {
private String name;
}
请求跟踪
启用缓存
您在这里直接调用缓存的方法,这是行不通的(留档几乎不清楚)。重构代码,使@Cacheable
方法位于不同的bean中,然后注入该bean(它实际上将被包装在代理中,因此它可以执行缓存),然后调用它。
我想跨调用缓存方法ID。为此,我得到方法ID: 我的问题是:我是否需要使用NewGlobalRef创建全局引用,或者可以从本地引用获取并保存方法ID(我使用FindClass获取class\u HelloWorld),而不需要全局引用类元数据?
本文向大家介绍java使用hashMap缓存保存数据的方法,包括了java使用hashMap缓存保存数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java使用hashMap缓存保存数据的方法。分享给大家供大家参考,具体如下: 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇
我有一个使用Spring Boot的简单应用程序。我希望允许使用JSR107-JCache进行方法缓存。在教程的帮助下,我编写了以下代码: 使用此POM文件 (依赖“spring-boot-starter-web”用于调用getCountry方法的简单REST服务) 一切都像文档所说的那样工作——方法只调用一次。 现在我想在WildFly 10应用服务器上试用它 我修改了pom文件: 排除tomc
本文向大家介绍CodeIgniter启用缓存和清除缓存的方法,包括了CodeIgniter启用缓存和清除缓存的方法的使用技巧和注意事项,需要的朋友参考一下 Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直接影响了网页的加载速度。依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保
是否有可能在内存中实现缓存以避免完全堆消耗? 我的spring boot java应用程序使用内存缓存,过期策略设置为1小时(咖啡因库用于缓存目的)。在此之后,所有缓存实例都处于旧代,需要收集完整的GC。现在,当XMX设置为10GB时,我可以看到经过几个小时的测试,我的缓存包含大约100k个实例,但在heap中(正好是旧一代),我可以找到数百万个缓存对象的实例。是否有可能在内存中使用缓存并避免这种
问题内容: 我想知道,您可以在现有缓存中调用的方法吗?还是在性能关键代码中最好将其存储在本地int中? 当您在调用之间不添加/删除项目时,我希望它确实已缓存。 我对吗? 更新 我不是在谈论内联或类似的东西。我只想知道方法本身是否在内部缓存值,或者每次调用时它都会动态计算。 问题答案: 我想我不会说它是“缓存的”-但是它只是存储在一个字段中,因此它足够快以经常调用。 Sun JDK的实现只是: