SpringCache-缓存管理
本文最后更新于22 天前,其中的信息可能已经过时,如有错误请发送邮件到qiqin-chang@qq.com

依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

常用注解:

注解添加位置说明
@EnableCaching启动类开启缓存注解功能
@Cacheable方法在方法执行前先查询缓存中是否存在数据,如有直接返回缓存数据;否则调用方法并将返回值放到缓存中
@CachePut方法将方法返回值放到缓存中
@CacheEvict方法从缓存中删除一条或多条数据

使用试例:

@PostMapping
   @CachePut(cacheNames = "userCache",key = "#user.id") //如果使用Spring Cache 缓存数据,key的生成:userCache::2
   //@CachePut(cacheNames = "userCache",key = "#result.id") // .导航对象
   //@CachePut(cacheNames = "userCache",key = "#p0.id")
   //@CachePut(cacheNames = "userCache",key = "#a0.id")
   //@CachePut(cacheNames = "userCache",key = "#root.args[0].id")
   public User save(@RequestBody User user){
       userMapper.insert(user);
       return user;
   }
​
   @GetMapping
   @Cacheable(cacheNames = "userCache",key = "#id") //key的生成:userCache::10
   public User getById(Long id){
       User user = userMapper.getById(id);
       return user;
   }
​
   @DeleteMapping
   @CacheEvict(cacheNames = "userCache",key = "#id") //key的生成:userCache::10
   public void deleteById(Long id){
       userMapper.deleteById(id);
   }
​
   @DeleteMapping("/delAll")
   @CacheEvict(cacheNames = "userCache",allEntries = true)
   public void deleteAll(){
       userMapper.deleteAll();
   }

返回顶部

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇