V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  drymonfidelia  ›  全部回复第 60 页 / 共 88 页
回复总数  1742
1 ... 56  57  58  59  60  61  62  63  64  65 ... 88  
@bqn 我这边的情况是一个客户端会 10000 并发下单,不可能给 9900 个订单全抛异常
@bqn 实体追踪没办法在高并发的情况下给一个字段增加值
@MoYi123 pg 这些方面确实厉害,但是这个项目运行好多年了,我刚接手没多久,不敢改太多
格式被 V 站弄坏了,在 pastebin 上再发一份 https://pastebin.com/bFHrRT9L
@lujiaxing
@lujiaxing 我之前就是这么实现的,然后忘记出现了高并发频繁事务失败还是余额加错的问题,代码大致是这样的
var strategy = dbContext.Database.CreateExecutionStrategy();
await strategy.ExecuteAsync(async () =>
{
using (var transaction = await dbContext.Database.BeginTransactionAsync(IsolationLevel.ReadCommitted))
{
var user = await dbContext.Users.NotCacheable().FirstOrDefaultAsync(x => x.UserId == userId);
if (user == null) return;
await dbContext.Entry(user).ReloadAsync();
if (balanceChange < 0 && user.Balance < balanceChange * -1) throw new Exception("UserBalanceNotEnough");
await dbContext.Database.ExecuteSqlRawAsync(
"UPDATE Users SET Balance = Balance + {0} WHERE UserId = {1}",
new object[] { balanceChange, userId });
var balanceRecord = new BalanceRecord
{
UserId = userId,
Description = description,
OperatorIp = operatorIp,
BalanceChange = balanceChange,
RemainingBalance = user.Balance + balanceChange
};
await dbContext.BalanceRecords.AddAsync(balanceRecord);
try
{
await dbContext.SaveChangesAsync();
await transaction.CommitAsync();
}
catch (Exception ex)
{
await transaction.RollbackAsync();
}
}
}
改了好几个版本,最后只能又套了一个 Redis 锁,但是会导致高并发性能变差很多
2024 年 5 月 15 日
回复了 ColdBird 创建的主题 买买买 马上 618 了,可以分享一下你的购物列表吗?
炒币亏了 30 万,没钱买了
日系网站设计是老一点,可读性都是很不错的
OP 这个也太逆天了,不说我还以为 https://badhtml.com/ 更新了
https://i.imgur.com/C3niVum.png
2024 年 5 月 14 日
回复了 hzlzh 创建的主题 分享创造 🎵 发布 2 张新专辑,失眠晚睡的 V 友请进 💤💤
@Livid 本站是否可以考虑像 Facebook 、Pixiv 、知乎等社区一样要求用户发布 AI 生成的作品必须添加明确标识?像这位 OP 发布作品就没有主动说明是 AI 生成,担心这样的低创内容以后会泛滥
2024 年 5 月 14 日
回复了 hzlzh 创建的主题 分享创造 🎵 发布 2 张新专辑,失眠晚睡的 V 友请进 💤💤
好奇怪的旋律,AI 做的吗?说真的感觉不好听
2024 年 5 月 13 日
回复了 drymonfidelia 创建的主题 程序员 分享一下看到的最牛逼的删除账号功能设计
@xiaozirun 要找客服🤣
@Vegetable 不判断🤣后台删了的用户和没删显示一样,营销邮件短信照常发
2024 年 5 月 13 日
回复了 drymonfidelia 创建的主题 程序员 分享一下看到的最牛逼的删除账号功能设计
@janus77 不管用户是否存在,登录页面确实像 6 楼说的会提示 用户名或密码错误
但是不用这么麻烦,找回密码就能登录了
2024 年 5 月 13 日
回复了 drymonfidelia 创建的主题 程序员 分享一下看到的最牛逼的删除账号功能设计
@Laobai 更逆天的是他把新密码硬编码在前端
@ccYUI 看介绍 nano7 是支持无损 ALAC 的
@lithiumii 不够好看
2024 年 5 月 12 日
回复了 SayHelloHi 创建的主题 买买买 求推荐一款洗手液,洗完手残留少的~~
@Livid 24 楼一小时在 8 个主题下发了和主题无关的群聊广告
@zhtyytg 第三种情况,我怎么更换用户的设备和网络
@drymonfidelia 另外文字的高度好像不好准确计算
文字也需要懒加载吗?这样的话如果用户网络不好,滑动一段距离后图文都显示不出来用户体验好像不太好。另外图片用空白 div 的话性能会比 blurhash 好多少?
@lslqtz
@lichdkimba
@kdwnil 谢谢,想找的是这个
1 ... 56  57  58  59  60  61  62  63  64  65 ... 88  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1247 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 17:29 · PVG 01:29 · LAX 10:29 · JFK 13:29
♥ Do have faith in what you're doing.