我必须在每个HTTP请求(页面访问次数)上更新MySQL数据库中的字段。有时我也必须为静态文件执行此操作。在重负载环境中,这可能会阻止响应,因为MySQL数据库可以一次执行单个更新(每个记录)进程。
我在考虑
你会如何优化它?
答案 0 :(得分:2)
我不相信你所说的关于MySQL的内容 - 可以同时发生多个更新。
如果达到mysql的并发限制,您是否考虑过使用不同的数据存储来获取此信息?例如,mongodb非常适合这些类型的upsert操作,因为它具有广泛的“即发即弃”更新操作,称为modifiers
例如,您可以执行类似
的操作db.pagecounters.update({name: 'x'}, {$inc: {count: 1}}, true)
这将找到名称为x的pagecounter对象,并且递增计数为1(如果存在计数)或将count设置为1.如果没有这样的页面计数器,则会创建一个