企业级 Redis 实战案例【场景学习】

1,848 阅读2分钟

一、应用场景

Redis的使用是为了缓解高并发给MySQL带来的压力!

引用Redis后,第一次查询查MySQL,将数据同步存储在Redis中,后续的查询可以直接查询缓存

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

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

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

image.png

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


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

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


二、应用效果

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

image.png

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

image.png

真实业务分享

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

B端产品+C端产品

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

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

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