计数器可以是页面浏览量、下载量、投票数等,基本上不是非常“关键”的数据。
存储这些信息的“最佳”方式是什么?Mysql 不是一个好的选择。你们使用什么呢?
计数器可以是页面浏览量、下载量、投票数等,基本上不是非常“关键”的数据。
存储这些信息的“最佳”方式是什么?Mysql 不是一个好的选择。你们使用什么呢?
MongoDB在使用upserts的情况下非常适合这种需求。
如果你要存储像这样的东西:
{ "url" : "www.example.com", "pageviews" : 0 }
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}})
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}}, {"upsert" : true})
while(!get_lock() || count > 10000) { sleep(0.001); count++ }; fread() or fwrite(); remove_lock();
可以轻松处理每秒数十万个请求……前提是你选择的操作系统在文件系统操作上很快。 - Abhi Beckert