Spring Boot 中使用cache缓存的方法

本文介绍了Spring Cache如何在Spring Boot中实现缓存功能,包括缓存的基本概念、Cache Manager、注解驱动的缓存操作如@Cacheable、@CachePut和@CacheEvict,并通过一个简单示例展示了缓存的增删改查操作。
摘要由CSDN通过智能技术生成

Spring Cache是Spring针对Spring应用,给出的一整套应用缓存解决方案。下面小编给大家带来了Spring Boot 中使用cache缓存的方法,感兴趣的朋友参考下吧


一、什么是缓存 Cache

Cache 一词最早来自于CPU设计

当CPU要读取一个数据时,首先从CPU缓存中查找,找到就立即读取并送给CPU处理;没有找到,就从速率相对较慢的内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在CPU缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。

再到后来,出先了硬盘缓存,然后到应用缓存,浏览器缓存,Web缓存,等等!

缓存为王!!

Spring Cache

Spring Cache是Spring针对Spring应用,给出的一整套应用缓存解决方案。

Spring Cache本身并不提供缓存实现,而是通过统一的接口和代码规范,配置、注解等使你可以在Spring应用中使用各种Cache,而不用太关心Cache的细节。通过Spring Cache ,你可以方便的使用

各种缓存实现,包括ConcurrentMap,Ehcache 2.x,JCache,Redis等。

Spring中Cache的定义

Sping 中关于缓存的定义,包括在接口 org.springframework.cache.Cache 中,

它主要提供了如下方法

// 根据指定key获取值
<T> T get(Object key, Class<T> type)
// 将指定的值,根据相应的key,保存到缓存中
void put(Object key, Object value);
// 根据键,回收指定的值
void evict(Object key)

从定义中不难看着,Cache 事实上就是一个key-value的结构,我们通过个指定的key来操作相应的value

Cache Manager

Cache是key-value的集合,但我们在项目中,可能会存在各种业务主题的不同的Cache,比如用户的cache,部门的Cache等,这些cache在逻辑上是分开的。为了区分这些Cache,提供了org.springframework.cache.CacheManager用来管理各种Cache.该接口只包含两个方法

// 根据名字获取对应主题的缓存
Cache getCache(String name);
// 获取所有主题的缓存
Collection<String> getCacheNames();

在该接口中,不允许对Cache进行增加、删除操作,这些操作应该在各种CacheManager实

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值