0

我有一个服务器用于处理用户使用 Mongodb 的页面查看历史记录。

当用户查看页面时,集合是这样保存的

view_collection

  { "_id" : "60b212afb63a57d57a8f0006", 
    "pageId" : "gh42RzrRqYbp2Hj1y", 
    "userId" : "9Swh4jkYOPjWSgxjm", 
    "uniqueString" : "s", 
    "views" : {
        "date" : ISODate("2021-01-14T14:39:20.378+0000"), 
        "viewsCount" : NumberInt(1)
    }} 

page_collection

{"_id" : "gh42RzrRqYbp2Hj1y", "views" : NumberInt(30)  ,"lastVisitors" : ["9Swh4jkYOPjWSgxjm"]}

用户集合

    {
_id:"9Swh4jkYOPjWSgxjm",
     "statistics" : {
                "totalViewsCount" : NumberInt(1197) }
}

一切正常,除了我想找到一种方法来缓存进入数据库的操作。

我一直在考虑如何使用 Redis 来缓存写作,然后定期循环遍历 Redis-keys 以将结果插入数据库。(但这太复杂了,需要大量的编码。)另外,我发现 Mongodb 有 In-Memory Storage,为此我可能不需要从零开始重写所有内容,只需更改 mongod 的一些配置文件即可获取缓存-写作品

4

1 回答 1

0

Redis 是一个比 MongoDB 功能少得多的数据存储。如果您的数据不需要任何 MongoDB 功能,您可以将其放入 redis 以获得更高的性能。

内存存储引擎中的 MongoDB 听起来像是过早的优化。

于 2021-08-11T23:10:16.817 回答