caching - MongoDB 缓存计数器

标签 caching mongodb counter

我正在为使用 MongoDB 作为其数据库引擎的网站上的产品编写访问计数器。

Here它说 Mongo 将经常访问的内容保存在内存中,并具有集成的内存缓存引擎。

那么我是否可以只依靠这个集成的缓存系统并在每次访问时愚蠢地设置计数器,或者在高流量环境中是否仍然需要另一个缓存层?

最佳答案

它们是两个独立的东西。 MongoDB 使用简单的分页内存管理系统,通过设计,将内存映射磁盘空间中最常访问的部分保留在内存中。

因此,这对于经常请求但不经常更改的计数器最有帮助。不幸的是,对于网站柜台来说,这两件事是相互排斥的。因为增加计数器通常不会导致 MongoDB 移动磁盘上保存计数器的文档,所以读取缓存仍然相当有效。

主要问题是您的写入,基本上增加每次访问不会很划算。我建议您的计数器 webapp 缓存传入访问的策略,并且仅在每 X 次访问或每 Y 秒推送一次计数器更新,以先到者为准。您的主要目标是减少每秒写入,因此您绝对不希望每次计数器访问都写入数据库。

关于caching - MongoDB 缓存计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7240912/

相关文章:

caching - Flutter 缓存管理器库

python - 在 any() 语句中迭代一个小列表是否更快?

mongodb - Go Mongo 仅更新非零值

node.js - 无法在 Nodejs 的 mongoose 中使用聚合

c - 指针,计数器变得困惑

reactjs - 我在第一个Redux计数器中不了解问题

javascript - 倒数计时器JS的问题 - IF条件

php - Codeigniter 缓存文件不会被删除

android - Android Room 将预打包的数据库存储在缓存中是否正常?

node.js - Mongoose,如何在现有 JSON 文档中将元素附加到数组