V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  Features  ›  全部回复第 67 页 / 共 76 页
回复总数  1507
1 ... 59  60  61  62  63  64  65  66  67  68 ... 76  
❮ ❯
2022 年 4 月 1 日
回复了 aboat365 创建的主题 › 分享创造 › 电波授时小程序
interesting
大开眼界
2022 年 3 月 31 日
回复了 chlinlearn 创建的主题 › 问与答 › 求一个文艺范的王者荣耀游戏 ID
文艺且荣耀
@LinsVert 这就是模拟并发啊,这种不可能要求前端做的
我自己就是前端
后续的后续:
因为 sn 是可预期的,所以做一个 task ,提前把用户的数据加热到数据表中
此业务环境下,不再对数据进行 SELECT 和 INSERT 操作,只要 UPDATE 就可以了
性能瞬间提升了很多
2022 年 3 月 31 日
回复了 Features 创建的主题 › 推广 › 看到 V 友卖茶叶,我也来凑个热闹
@concernedz
更新在附言里了
@CEBBCAT 请教下,用 rocketmq 能否完美解决这种问题?
回想安卓中涉及到这种问题,也是使用队列处理的
@CEBBCAT 我是在学习后端,摸鱼时间偷偷学习下
后续:
并发太高时,甚至连缓存都来不及生成
根据 @micean 的方法建立 unique key
在业务中捕获 1062 Duplicate entry 错误
调整业务代码,最终成功
@wowo243 是的,就是这个问题
最终解决办法:
在缓存中先预存 key = sn+member_id 的组合,
同时查询数据库 sn+member_id 记录条数,
如果缓存 key 的值不为空,但记录为 0 ,则返回提示: 您的手速太快了

想到更优雅的,但没时间做的解决办法:
把请求整合到一个队列中,稳定进出,应该也能解决
@turan12 应该不行,因为多个请求并发,可能前一个请求的数据还 没到达服务器 /存储成功 /未更新
应该要从其他地方解决问题
@Feiex 感谢
@Ritter 是的,因为 Mysql 是远程的,把这个问题暴露出来了,以前没注意到。。。
@Jooooooooo 好像确实不是的
@Feiex 没设置事务
@xzh20121116g
@sun1991
测试环境是单库,发出多个请求就会导致数据重复
假设有 1,2,3 个请求
请求 1 返回成功结果,这时候服务端应该把数据插入表中了
请求 2 和请求 3 应该能 SELECT 到正确的数据啊?
2022 年 3 月 31 日
回复了 Features 创建的主题 › 推广 › 看到 V 友卖茶叶,我也来凑个热闹
@markss 不太懂茶,晚点我去茶园拍照给你们看看
2022 年 3 月 31 日
回复了 Features 创建的主题 › 推广 › 看到 V 友卖茶叶,我也来凑个热闹
@longbye0 自己种自己采,比贩子价格好点就行了
2022 年 3 月 30 日
回复了 Features 创建的主题 › 推广 › 看到 V 友卖茶叶,我也来凑个热闹
@McLeeV 是的,我们这里种的都是绿茶
1 ... 59  60  61  62  63  64  65  66  67  68 ... 76  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2635 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 16:06 · PVG 00:06 · LAX 09:06 · JFK 12:06
♥ Do have faith in what you're doing.