反之,它可能是网页浏览量、下载量、投票数等。基本上,不是非常“关键”的数据。
存储这些信息的“最佳”方式是什么?Mysql 不是一个好的选择。你们都用什么?
反之,它可能是网页浏览量、下载量、投票数等。基本上,不是非常“关键”的数据。
存储这些信息的“最佳”方式是什么?Mysql 不是一个好的选择。你们都用什么?
我想我会选择 Redis,因为:
带有 upserts 的 MongoDB 非常适合这个。
如果您要存储以下内容:
{ "url" : "www.example.com", "pageviews" : 0 }
您可以使用原子操作 $inc 以原子方式快速增加页面浏览量:
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}})
如果您使用 upserts,则不必在更新文档之前检查文档是否存在。例如,如果你说:
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}}, {"upsert" : true})
如果 URL 为 www.example.com 的文档不存在(页面浏览量设置为 1),则将创建该文档,或者如果确实存在,则页面浏览量将增加。这意味着您不必担心预先填充集合。
1990 年代著名的查看计数器使用简单的文件来存储数字。如果您只需要存储一个数字,那么任何东西都足够了。
我会说 APC 或 memcached 是不错的选择。