我想创建更新页面视图计数的函数 我使用ado.net构建更新方法,每个页面加载更新计数1,按ID
查找问题: 我们有大量的访问者,它可以达到每秒3k在线用户并通过ajax调用执行它 它使数据库具有高性能和表锁定以及站点耗尽内存 它有什么解决方案吗?
答案 0 :(得分:1)
您应该使用Interlocked.Increment
增加内存中的int
或long
,而不是在每个页面视图上执行SQL。然后在每个(例如)5,000个增量(使用Mod
检查)上,然后您应该点击数据库并将浏览量计数增加5,000。
这意味着页面视图计数的更新速度会比当前慢,但会大幅减少数据库负载。
还考虑使用Redis来存储计数,而不是现有数据库。 Redis对于这种用例非常棒。