这几天一直在做redis 缓存,中间遇到很多错误,把网上的博客都看一大半了,甚至开始怀疑是springboot 框架有问题出毛病了(对,就是他的错,谁让他报我的错?他先动得手) 后来发现是自己太蠢了,写下来记录记录这个差点让我放弃人生的蠢动作。
redis缓存的序列化器
网上看了很多的关于序列化的博客,里面的版本千奇百怪,在这里,以我自己的看法给这些东西分类,当然这是属于新手的,大牛请绕道。
第一类:定制RedisTemplate 在里面设置序列化器
这种方法是针对直接使用redisTemplate做相关操作的。比如
redisTemplate.opsforvalue.set("key","value");
这就是直接使用redis 做一个数据库,此时还不是作为缓存
此处请区分:redis 是一个数据库, 而缓存 只是一个 理论
上的东西,只不过用redis 实现了这个理论而已。这两个东西
还是有很大区别的。
第二大类:设置CacheManager 在cachemanager里面设置序列化
这种才是针对缓存的序列化机制,包括设置过期时间等。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
我的错误:
在设置过期时间的时候由于 RedisCacheConfiguration 使用的是建造者模式,每次方法调用都会返回一个新的RedisCacheConfiguration,但是,愚蠢的我中间加了个分号,还在第二行把本来错误的地方,手动改回来了。所以导致序列化失败,过期时间失败。这里记录一下,给自己一个提醒 ---- 就是springboot 的错!!!!!!