在前一章中,我们使用了Spring Cache作为缓存。 在本章中,您将使用Redis分布式数据库创建缓存并充当中间件。
如果您不熟悉Redis,请查看官方文档或查看教程。 这里列举几个。
Redis官方文档
教程
然后,使用SpringBoot将Redis集成到缓存中,首先创建SpringBoot项目。
1.pom依赖: dependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-dev tools/artifactidscoperuntime ependencydependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter -测试artifactidscopetesest ependencydependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-web/ependencydependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-data-redis/artifact id ed groupidartifactidmysql-connector-Java/artifactidscoperuntime/scope/dependencydepency groupidartifactidfastjson/artion dependencydependencygroupidcom.Bao midou/groupidartifaction artifactidversion3.4.2/version/dependencydencygrouptioupion groupidartifactidlombok/artifactidversion versionscopeprovided/scope/dependency2.yml配置spring : data source : username 3360 rootpassword 3360 root URL 3360 JDBC 3360 server time zone=utcusessl=falsease lass-name 3360 com.MySQL.JDBC.driver redis 3360 host 3360
3 .序列化和取消序列化3.Redis对象创建新的FastJsonRedisSerializer类并实现RedisSerializer接口。
@ overridepublicbyte [ ]序列化(TT ) throwsserializationexception (if ) t==null )返回新字节(0); }returnJSON.tojsonstring(t,串行化器feature.write class name ).getbytes ) default_charset ); } @ overridepublictdeserialize (byte [ ] bytes ) throwsserializationexception (if (bytes==null|||bytes.length=0) ParserConfig.getGlobalInstance ().setasmenable ) ) true; returnJSON.parseobject(str,clazz ); 使用fastjson实现序列化操作。
创建将当前类添加到Redis配置中的配置类
@ configurationpublicclass**sredisconfig {/* * *设置redis数据的默认过期时间*设置sredis序列化* @return */@ beanpublicrediscacheconfigurationrediscacheconfiguration ((fastjsonredisserializerobjectfastjsonredissserializer=newfasered ) rial izer rediscacheconfiguration configuration=rediscacheconfiguration.defaultcacheconfig (configuration=configuration.) ation context.serialization pair.from serializer (快速返回配置; }上面的东西都配置好后,下次和上次一样。 启动类打开评论缓存
@ springbootapplication @ enablecachingpublicclassspringbootredisintegratapplication { publicstaticvoidmain (字符串[ ] args )
/**数据运行完成后,将其添加到缓存中,并在下一次运行时直接从缓存中查询数据。 不需要查库。 * @ paramid * @ return */@ override @ cacheable (cache names=' EMP ',sync=true ) publicemployeegetbyemployee ) inter 还有更多的数据结构实现。 请大家自己实现。 这里只实现部分代码。
@ autowiredstringredistemplatestringredistemplate; @ overridepublicvoidset (字符串密钥,对象值) stringredistemplate.ops for value (.set )密钥,value.toString () ) ) } @ overridepublicvoidset (string key,Object value,long var3,TimeUnit var5) stringredistemplate.ops for value ).set @ } @ overridepublicstringget (objectvar1) returnstringredistemplate.ops for value ).get (var1); }其他有趣的是,请自己阅读文档,调试并开发。 实例代码在github上需要的请自己拿: spring-boot-integrate
然后,将整合更多模块。 我需要订购star。 有问题就一起学习