说明:

(0) 本篇博客主要的目的是,解决自己目前的疑惑,帮助形成暂时的自洽;(有关Spring缓存,Redis更复杂的内容,并没有介绍)

(1) 为什么写本篇博客?:

● 在【SpringBoot电商项目商品分类模块利用Redis缓存加速响应】中,在Spring Boot中使用了Redis缓存来加速响应;

● 但是,有了几个疑问?:【Spring的Cache缓存】、【Spring的Cache缓存,和,Redis;;;究竟是什么关系】、【除了Redis,是否有其他NoSQL,可以代替Redis】、【Spring的Cache缓存内容有哪些?:目的是,为进一步学习缓存,能有个好规划】、【Redis的内容有哪些是自己还不了解的?:目的是,为进一步学习缓存,能有个好规划】;

● 因为有了这几个疑问,所以写了本篇博客;

(2) 本篇博客参考的博客有:

● 【springboot缓存开发】:只介绍了Spring Boot缓存,没有涉及Redis等;

● 【Spring Boot 缓存的基本用法】:帮助自己解决了一个疑问:Spring 的缓存默认使用的是ConcurrentMapCacheManager 下的 ConcurrentMapCache,是将数据保存在 ConcurrentMap<Object, Object> 中。而在开发中是使用缓存中间件:redis、memcached、ehcache 等。

● 【Spring Boot系列之缓存使用教程】;

●【SpringBoot高级——缓存】;

● 【Spring的缓存机制】;(这篇博客没看)

(3)声明:

● 关于Spring Boot缓存和Redis的内容,单靠【(14)Redis】专栏和上篇博客的内容,是远远不够的;所以,本篇博客仅仅算是一个【开启更大世界的钥匙】,或者在某种程度上可以看成是一个【可能存在错误的,综述性的大纲】;以后,必须要仔细、重头到尾、一个不拉的好好了解Spring 缓存和Redis的内容;

● Spring Boot缓存的内容,可能并不是太多;

● Redis这款缓存中间件,还有很多很多内容; 【(14)Redis 】专栏中的内容和自己目前了解的内容,只是刚刚入门;还需要花费大量精力去研究Redis这款缓存中间件;

一:Spring Boot缓存;

可以参考 【springboot缓存开发】;该文的作者是【Yrion】;(PS:这篇博客建议通篇看一;不难理解)

该文主要的点是:

● Spring Boot本身自己就有缓存机制;

● Spring Boot提供了【@CacheConfig】、【@Cacheable】、【@CacheEvict】、【@CachePut】、【@Caching】这些注解;我们可以通过使用这些注解,来实现在Spring Boot项目中应用缓存,实现缓存的需求;

● 这其中也用到了SPEL表达式;

二:Spring Boot 缓存的基本用法;

可以参考【Spring Boot 缓存的基本用法】;该文的作者是【云—澈】;(PS:这篇博客建议通篇看一;不难理解)

该文主要的点是:

● 为了统一缓存的开发规范、提高系统的扩展性和最小化开发成本等,J2EE 发布了 JSR-107 缓存规范。Java Caching 定义了 5 个核心接口,分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry。(但是,对这个五个接口的具体细节,尚不熟悉)

● 可能需要注意一下,【Spring2】和【Spring3】的缓存,可能存在些许差别:Spring 从 3.1 开始定义了 org.springframework.cache.Cache和 org.springframework.cache.CacheManager接口来统一不同的缓存技术并支持使用 JCache(JSR-107)注解简化我们开发。

● Spring Boot本身自己就有缓存机制,Spring 的缓存默认使用的是 ConcurrentMapCacheManager 下的 ConcurrentMapCache,是将数据保存在 ConcurrentMap<Object, Object 中。

……………………………………………………

● 但是,为了能更高效的使用Spring Boot的缓存机制,我们可以使用缓存中间件:redis、memcached、ehcache 等。

● 我们需要定义缓存管理器:RedisCacheManager;(其实,对这个管理器的本质,尚不清楚)

三:Spring Boot系列之缓存使用教程;

可以参考 【Spring Boot系列之缓存使用教程】;该文的作者是 【smileNicky】;(PS:这篇博客自己并没有仔细看)

该文主要的点是:

● 本篇博客的内容,包括了:【一:Spring Boot缓存; 】和【二:Spring Boot 缓存的基本用法;】中的内容;

​四:SpringBoot高级——缓存;

可以参考【SpringBoot高级——缓存】;该文的作者是【如不來】;(PS:这篇博客自己并没有仔细看)

该文主要的点是:

● 该文包括了【一:Spring Boot缓存; 】、【二:Spring Boot 缓存的基本用法;】和【三:Spring Boot系列之缓存使用教程;】中的内容;

● 但,该文对于某些点,介绍的比价详细;