redis数据的轮询规则探讨(并发访问查询接口的性能问题思考)

本文探讨了在并发访问查询接口时,因数据库压力导致的性能问题。通过引入Redis缓存,利用轮询规则减少数据库查询,提高了系统处理大并发请求的能力。在每次临界点,系统会从数据库获取最新数据并存储到Redis中,其他请求则直接从Redis读取,以此避免数据库阻塞。实践证明,这种方法有效解决了数据查询瓶颈。
摘要由CSDN通过智能技术生成

业务场景如下:

     公司举办司庆活动,使用微信端链接H5页面访问后台服务实现员工答题抢红包活动(除了微信网页授权登录用到微信API接口外,H5及后台服务均为公司自己研发)


    除了微信登录接口、员工信息获得接口、祝福语接口、抽奖接口外,还有一个员工中奖名单接口(通过轮询方式在抽奖活动页 面滚动展示)

    由于预计员工瞬间涌入为万人以上,在处理并发访问查询接口时,当并发进程达到一定的数量时,数据库的瓶颈问题就出来,性能下降严重,很多查询进程处于等待阻塞状态。

        经过调查发现引发性能问题的关键在于大量数据库连接请求处于排队中,数据库吞吐容量有限,如果不减少访问请求次数,那么优化SQL或减少查询记录数的有一定效果,但在并发超过一定数量的情况下(比如200)性能问题还是存在着。所以解决该问题的思路是转移数据库的压力,考虑使用缓存来处理大并发请求。这里考虑采用redis缓存来提高读取性能,降低对数据的IO操作。

 接口功能业务:系统进入抽奖页面后,自动触发轮询调用员工中奖名单接口以获得员工中奖名单列表数据,假设轮询时间为5分钟一次(轮询时间可以由系统后台管理员自行设置)

 那么一小时60分钟将会被5分钟分割为步长相等12等分时间段,每等份的临界值为 5,10,15,20,25,30,35,40,45,50,55,60分钟,那么在系统接受到的瞬间第一次名单请求&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

景天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值