Redis的使用场景分享(项目实战)

举报
辰兮 发表于 2022/06/22 23:31:31 2022/06/22
【摘要】 【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、...

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

吾等采石之人,应怀大教堂之心,愿我们奔赴在各自的热爱里…

一、应用场景

Redis的使用是为了缓解高并发给MySQL带来的压力!
在这里插入图片描述

引用Redis后,第一次查询查MySQL,将数据同步存储在Redis中,后续的查询可以直接查询缓存
在这里插入图片描述

我分享我在B端产品中应用的场景!

比如商家查询自己门店的销售额,销售数量,客单价,毛利率等等数据!

  • 基准日期数据:比如今天2022-06-10 那么基准时间就是2022-06-09(前一天
  • 底层数据逻辑:底层的数据不是简单的查询出来,比如销售额涉及到函数计算,毛利率等涉及到在业务代码里面计算

在这里插入图片描述

查询完对应的数据存储到Redis中,后续直接从Redis取即可


关于Redis和MySQL在此场景中数据一致性问题分析

真实业务场景:今天白天之前,比如八点前,前一天的销售数据会同步完成到我们的数据库表,且不会改变!同时今天能查询的销售数据截止时间是前一天(财务日)。所以不管查询多少次MySQL和Redis数据都是一样的!(因为MySQL业务数据不会改变);此处引入Redis则接口速度大大优化!


二、应用效果

原逻辑: service层 封装方法1,2,3 return result 未使用缓存数据库
现逻辑: service层 查缓存,缓存中有直接返回(仅仅第一次需要查询MySQL) 使用缓存数据库
在这里插入图片描述

图文详解:引入Redis缓存后明显可以看到对应接口执行逻辑缩短,且大大缩短
在这里插入图片描述

真实业务分享

目前做的B端业务,一次性查询可能涉及到十几个字段,加上同比以及环比的计算,一个接口的访问请求可能大约2-3S;如果利用了缓存数据库可以直接优化到0.1-0.2S;

B端产品+C端产品

目前做的B端产品主要是商家可以看到销售数据,重在查询具体的数据,商家更关注的是查询的数据是否正确,所以业务上查询字段多,接口访问慢是一定的,目前平均体验初识查询均在2-3S,但是这样的场景商家是可以理解的!

  • B端产品,也叫To B(To Business)产品,即面向企业或者特定用户群体的企业级别产品;
  • C端产品,也叫To C(To Customer)产品,即面向普通大众消费者的产品。
  • B端注重功能,C端注重体验。

三、相关拓展

分享一下之前整理的Redis相关知识点,欢迎打卡、沟通、交流!


📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!

📚愿我们奔赴在各自的热爱里!

文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。

原文链接:blessing.blog.csdn.net/article/details/125399020

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。