【辰兮要努力】: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!!!
📚愿我们奔赴在各自的热爱里!
|