用StackExchange.Redis+.net core做高并发遇到的问题

本文介绍了在使用StackExchange.Redis与.NET Core构建高并发秒杀系统时遇到的问题及解决方案。通过利用Redis的原子性以及分布式锁解决并发超卖问题,但在实际测试中遇到Redis超时错误。通过采用单例模式创建Redis实例和使用异步请求,最终成功处理了高并发场景,并展示了在1000并发量下良好的性能表现。
摘要由CSDN通过智能技术生成

用Redis+.net core做高并发遇到的问题。
突发奇想的想做高并发的例子了。最近看了一个关于core的开源框架,叫colder后台框架,是一位大牛写的,他还不断在更新完善,这里推荐给大家大佬的博客园

在做这次高并发我对自己遇到的几个问题进行总结吧:
1.首先在搭建redis环境的时候,因为我选择了那个大佬的框架,里面有封装的StackExchange.Redis,他对.net的支持还是挺好的,我直接用这个做了秒杀表的缓存,在vs资源包里面下载就可以了
在这里插入图片描述

2.首先我做的高并发就是商品秒杀,主要几个表有商品表,商品秒杀表,商品订单表,用户表,管理员表等(几个不重要的就不详细说了哈)。对于秒杀的一瞬间访问是巨大的,如果客户端频繁与服务器交互,会导致服务器瘫痪,所以必须将秒杀表存放在redis(具体是什么,怎么用这里就不说了)缓存中,在秒杀来临时,对商品剩余数量进行减一并存放在redis中,即秒杀成功。

重点来了,判断是否能够减一,必须也要从redis获取该缓存来判断,众所周知,redis是原子性的,但是如果两个用户同时在商品剩余数量为1时判断可以减一&

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值