当前位置: 首页 > 知识库问答 >
问题:

Spring Boot缓存字段

符风畔
2023-03-14
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-cache</artifactId>
    </dependency>
@PostMapping("updateMap")
@ResponseBody
public ResponseEntity uploadMap(@RequestBody Map<String, Object> data) {
    mapService.updateMap(data);   
    return ResponseEntity.ok();
}
// Is it possible to annotate it with @Cachable?    
private Map<String, Object> cachedMap;     



 public void updateMap(Map<String, Object> data) {
       //update cachedMap by data
    }

public Object getFromMap(String key) {
       //get object from map by key
    }

共有1个答案

袁凌
2023-03-14

Cacheable是针对方法、接口和类的注释。它不是针对您打算使用的字段的。

在您的服务中,您可以创建getMap方法,并向其添加@cacheable注释。因此,每次调用此方法时(由于Spring代理而在服务之外,除了第一次映射不存在于缓存中之外),返回的映射对象将是缓存的对象。

@Cacheable("map")
public Map<String, Object> getMap() {
    // initialize your Map
    cachedMap = new HashMap<>();
    cachedMap.put("somekey", "aString");
    return cachedMap;
}

如果您希望在每次“更新”映射时更新缓存,就像在控制器中所做的那样,那么请更改public void updateMap(map data) :

@CachePut(value = "map")
public Map<String, Object> updateMap(Map<String, Object> data) {
    cachedMap.putAll(data);
    return cachedMap;
}
 类似资料:
  • 我正在寻找集成Hazelcast到我的应用程序... 我的要求是将所有数据加载到缓存并从缓存中提取。。 我有两个选择。 1) Hazelcast IMap 2)因为我使用的是Spring启动,所以我可以使用(@Cacheable/@CacheEvict)。 我能得到一些建议吗... 提前谢谢你。。

  • 本文向大家介绍springboot的缓存技术的实现,包括了springboot的缓存技术的实现的使用技巧和注意事项,需要的朋友参考一下 引子 我门知道一个程序的瓶颈在于数据库,我门也知道内存的速度是大大快于硬盘的速度的。当我门需要重复的获取相同的数据的时候,我门一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者远程方法的调用上,导致程序性能的恶化,这更是数据缓存要解决的问题。

  • 本文向大家介绍springboot集成spring cache缓存示例代码,包括了springboot集成spring cache缓存示例代码的使用技巧和注意事项,需要的朋友参考一下 本文介绍如何在springboot中使用默认的spring cache, 声明式缓存 Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、

  • 本文向大家介绍SpringBoot使用Redis缓存的实现方法,包括了SpringBoot使用Redis缓存的实现方法的使用技巧和注意事项,需要的朋友参考一下 (1)pom.xml引入jar包,如下:   (2)修改项目启动类,增加注解@EnableCaching,开启缓存功能,如下:   (3)application.properties中配置Redis连接信息,如下:   (4)新建Redis

  • 本文向大家介绍SpringBoot下Mybatis的缓存的实现步骤,包括了SpringBoot下Mybatis的缓存的实现步骤的使用技巧和注意事项,需要的朋友参考一下 说起 mybatis,作为 Java 程序员应该是无人不知,它是常用的数据库访问框架。与 Spring 和 Struts 组成了 Java Web 开发的三剑客--- SSM。当然随着 Spring Boot 的发展,现在越来越多的

  • 本文向大家介绍springboot hazelcast缓存中间件的实例代码,包括了springboot hazelcast缓存中间件的实例代码的使用技巧和注意事项,需要的朋友参考一下 缓存来了 在dotnet平台有自己的缓存框架,在java springboot里当然了集成了很多,而且缓存的中间件也可以进行多种选择,向 redis , hazelcast 都是分布式的缓存中间件,今天主要说一下后者