![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring cache
spring缓存redis源码走读
Pingszi
这个作者很懒,什么都没留下…
展开
-
8.springboot cache代理类
1.spring cache代理类简介结构2.spring cache代理类源码解读2.1.缓存切面(PointCut)作用根据缓存注解生成一个切面,如果条件匹配会进行拦截;抽象类CacheOperationSourcePointcutabstract class CacheOperationSourcePointcut extends StaticMethodMatcherPointcut implements Serializable { //**使用CacheOperatio原创 2020-09-10 15:39:38 · 888 阅读 · 0 评论 -
7.springboot cache基础类
1.spring cache基础类简介1.1.结构1.2.运行过程简要说明使用:在User类上编写方法String getName(),标注注解@Cacheable;运行过程拦截:拦截器拦截标注有@Cacheable的getName方法,调用父类CacheAspectSupport的execute方法执行;解析缓存注解:使用AnnotationCacheOperationSource,AnnotationCacheOperationSource委托SpringCacheAnno原创 2020-09-07 09:16:55 · 1735 阅读 · 1 评论 -
6.springboot cache启用
1.启用缓存在springboot中使用@EnableCaching注解开启,导入CachingConfigurationSelector;CachingConfigurationSelector根据EnableCaching注解的AdviceMode参数,导入对应的bean;如果是PROXY代理模式,则导入AutoProxyRegistrar、ProxyCachingConfiguration。如果有jsr107的接口定义和具体实现,则额外导入ProxyJCacheConfiguration;原创 2020-09-01 16:47:57 · 637 阅读 · 0 评论 -
5.springboot cache和cacheManager下
1.spring cache解析1.1.RedisCache和RedisCacheManager1.1.1.结构1.1.2.解析RedisCache使用RedisCacheWriter接口,用于对redis的读写;RedisCacheWriterRedisCacheWriter和Cache接口的差异:所有方法都需要指定name,执行redis命令时如需加锁,name为锁的key;RedisCacheWriter可根据正则清除缓存;public interface Redi原创 2020-06-12 09:02:27 · 981 阅读 · 0 评论 -
4.springboot cache和cacheManager上
1.spring cache简介spring对各种缓存技术进行了封装(包括concurrentMap,redis,guava,caffeine,jCache,ehCache等等),并提供一致的对外接口;包括CacheManager和Cache两个接口,Cache接口包含缓存的各种操作,CacheManager接口则负责管理Cache;CacheManager会持有多个Cache实例的引用,根据name区分;Cache接口包含一些简单的缓存操作,功能没有redisTemplate强大;可使用原创 2020-06-09 10:20:43 · 1710 阅读 · 0 评论 -
3.springboot redis序列化器
1.redis序列化器作用在保存数据时需要把java对象序列化为byte,在读取数据时需要把byte反序列化为java对象;不同的java数据类型序列化和反序列化的逻辑不一样;java对象序列化后的文本格式不一样。常见的有java对象字节码、json字符串,xml字符串;spring把上述逻辑封闭在redis序列化器中,接口为RedisSerializer;2.redis序列化器结构3.序列化器解析3.1.RedisSerializer接口提供了序列化serialize和反序列化de原创 2020-05-27 17:39:13 · 1892 阅读 · 0 评论 -
2.springboot redisTemplate序列化与反序列化
1.序列化与反序列化1、序列化和反序列化简介:序列化就是指把对象转换为字节码;对象传递和保存时,保证对象的完整性和可传递性。把对象转换为有字节码,以便在网络上传输或保存在本地文件中;反序列化就是指把字节码恢复为对象;根据字节流中保存的对象状态及描述信息,通过反序列化重建对象;2.redis序列化与反序列化redis底层以二进制/字符串形式存储内容;序列化把java对象转换为二进制/字符串,然后存储到内存中;反序列化读取内存中的二进制/字符串,然后转换为java原创 2020-05-13 17:45:03 · 5734 阅读 · 0 评论 -
1.springboot redis简介
1.Redis简介Redis是一个高性能的key-value内存数据库,支持持久化,可将数据保存在磁盘,重启时加载;Redis是单线程模型,所有操作都是原子性的。单个操作是原子性的,多个操作也支持事务;Redis单机支持多个数据库,每个数据库的数据是隔离的。数据库从0开始的递增数字命名,默认支持16个数据库。集群没有数据库的概念;2.Redis数据类型string(字符串)has...原创 2020-04-29 18:46:24 · 877 阅读 · 0 评论