springboot項目如何把數據加入緩存中(用@Cacheable注解)


PS:如有問題,評論留言。

先引入依賴

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-cache</artifactId>

</dependency>

激活啟動類注解@EnableCaching

實現類相應方法上加上這個注解

@Service

public class ImsSysClientServiceImpl implements ImsSysClientService {
@Resource
ImsSysClientMapper imsSysClientMapper;


@Cacheable(value = "client", key = "#id", unless = "#result == null")
public ImsSysClient selectByPrimaryKey(Integer id) {
return imsSysClientMapper.selectByPrimaryKey(id);
}
controller層測試代碼
public void test(){
System.out.println("test");
ImsSysClient client1=imsSysClientService.selectByPrimaryKey(1);
System.out.println(client1);
ImsSysClient client2=imsSysClientService.selectByPrimaryKey(1);
System.out.println(client2);


}
默認用redis緩存

如果不想用redis緩存,只是把它放內存中。(在serviceImpl里面加入下面這個管理器)
 @Bean  public CacheManager cacheManager() {  SimpleCacheManager cacheManager = new SimpleCacheManager();  cacheManager.setCaches(Arrays.asList(new ConcurrentMapCache("client"),new ConcurrentMapCache("clientId"),new ConcurrentMapCache("jwtinfo")));  cacheManager.afterPropertiesSet();  return cacheManager;  } } 
如果配了多個不同名字的緩存注解,在紅線部分把名字配上去。不過這個管理器不能放在單獨的文件中,否則又會使用redis緩存。(我也不知道為什么)



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM