首页 > 编程知识 正文

分布式缓存redis,redis是干嘛的

时间:2023-05-06 18:34:59 阅读:44626 作者:2353

在前一章中,我们使用了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。 有问题就一起学习

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。