springboot给我们提供了缓存抽象。
1.创建项目的时候,引入spring-boot-starter-cache模块 2、@EnableCaching开启缓存3、使用缓存注解@Cacheable 表示这个方法可以进行缓存
@CachePut :这个是先进行操作,同时又更新缓存。
@CacheEvict :缓存清除。比方说,我们要进行数据的删除了,显然缓存中的数据我们是也要清除掉的。
@CacheEvict 有一个属性,默认值是false,当我们置为true的时候,就会将缓存中的东西全部清空。
@CacheEvict 有一个属性,默认值是false,代表我们在方法执行之后删除缓存,当我们置为true的时候,不管方法是否能顺利执行,都要把缓存删除掉。
@Caching 这是一个组合注解,这用于复杂的情况,需要我们组合来使用注解的时候。
@CacheConfig 可以配置公共的部门,比方说都有一个缓存名
4、切换为其他缓存(这一块不够详细,等有时间回头再重新丰富一下)在开发中我们多数会选择使用其它的缓存,入redis。如果对redis不太熟悉的话,可以到我贴的中文网上去快速的学习。
http://www.redis.cn/
做了入门以后,就可以开始使用了。
下边贴一篇我转载的文章,关于redis的使用:
https://blog.csdn.net/star1210644725/article/details/90509967
可以进行缓存和我们的自动配置类有关,在默认情况下,使用红框里边的缓存,底层数据结构是一个线程安全的Map,也就是说缓存就是在做用空间换时间的事。
缓存的运行流程:
Cachemanager(缓存管理者, 在没有指定的情况下,默认使用ConcurrentMapCacheManager) 先去查询指定名字的缓存,在第一次调用肯定没有,这就要创建这个名字的缓存。在cache组件中去查找指定键值Key的值。如果是第一次进行查询,缓存里边肯定是没有数据的,那就要调用目标方法将目标方法返回的结果放在缓存中,供下一次缓存使用。