PHP - Redis/Memcachedb/Mongodb 或其他持久存储来存储计数器
通过计数器,它可以是浏览量、下载量、投票数等。基本上,不是非常“关键”的数据。
存储这些信息的“最佳”方式是什么? Mysql 不是一个好的选择。你们都用什么?
By counter it could be pageviews, downloads, number of votes etc. Basically, not very 'critical' data.
What is the 'best' way to store those information? Mysql is not a good option. What do you guys use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我想我会选择 Redis,因为:
I think I would go with Redis, because:
带有 upserts 的 MongoDB 非常适合这个。
如果您要存储类似的内容:
您可以使用原子操作 $inc 非常快速地自动增加页面浏览量:
如果您使用 upsert,则无需在更新文档之前检查文档是否存在。例如,如果您说:
如果 URL 为 www.example.com 的文档不存在,则将创建该文档(页面浏览量设置为 1),或者如果存在,则页面浏览量将增加。这意味着您不必担心预填充集合。
MongoDB with upserts is great for this.
If you're storing something like:
you can atomically increment pageviews really quickly with the atomic operation $inc:
If you use upserts, you don't have to check whether a document exists before updating it. For example, if you say:
the document with the url www.example.com will be created if it doesn't exist (with pageviews set to 1) or, if it does exist, pageviews will be incremented. This means you don't have to worry about pre-populating the collection.
20 世纪 90 年代著名的查看计数器使用简单的文件来存储数字。如果您只需要存储一个数字,那么任何东西都足够了。
The famous view counters of the 1990s used simple files to store the number. If all you need is just to store one number, anything is good enough.
我认为 APC 或 memcached 是不错的选择。
I would say APC or memcached are good choices.