V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  drymonfidelia  ›  全部回复第 32 页 / 共 60 页
回复总数  1195
1 ... 28  29  30  31  32  33  34  35  36  37 ... 60  
@bqn 对,10000 并发 同一条
已移动
@peter0642
@lovelylain 这样要写入硬盘,性能会不会比我现在用的 redis 锁还差
191 天前
回复了 ZhouHeiYaWang 创建的主题 分享发现 你有多久没在淘宝买过商品了?
jd 只用来买罗技鼠标这种过保必坏的东西,买了保险可以换新
@quan01994 是 MySQL 。sqlserver bug 好多
@cloudzhou 这个 version 是一个单独字段么?每个查询都要多 update 一个字段,会不会导致性能问题
@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 锁,但是会导致高并发性能变差很多
炒币亏了 30 万,没钱买了
日系网站设计是老一点,可读性都是很不错的
OP 这个也太逆天了,不说我还以为 https://badhtml.com/ 更新了
https://i.imgur.com/C3niVum.png
@Livid 本站是否可以考虑像 Facebook 、Pixiv 、知乎等社区一样要求用户发布 AI 生成的作品必须添加明确标识?像这位 OP 发布作品就没有主动说明是 AI 生成,担心这样的低创内容以后会泛滥
好奇怪的旋律,AI 做的吗?说真的感觉不好听
@xiaozirun 要找客服🤣
@Vegetable 不判断🤣后台删了的用户和没删显示一样,营销邮件短信照常发
@janus77 不管用户是否存在,登录页面确实像 6 楼说的会提示 用户名或密码错误
但是不用这么麻烦,找回密码就能登录了
@Laobai 更逆天的是他把新密码硬编码在前端
@ccYUI 看介绍 nano7 是支持无损 ALAC 的
@lithiumii 不够好看
1 ... 28  29  30  31  32  33  34  35  36  37 ... 60  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1053 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 19:14 · PVG 03:14 · LAX 11:14 · JFK 14:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.