【问题标题】:Mongodb Memory engine vs Redis for caching the writes用于缓存写入的 Mongodb 内存引擎与 Redis
【发布时间】:2021-10-14 19:20:24
【问题描述】:

我有一个服务器,用于处理用户使用 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"]}

user_collection

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

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

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

【问题讨论】:

    标签: mongodb caching redis database-caching


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的发言。我还想使用这些数据在推荐引擎上工作,redis 键就足够了。我可以想象,实现 Redis 部分会非常困难,而且稍后将数据批量插入数据库似乎太难了
    猜你喜欢
    • 1970-01-01
    • 2014-11-06
    • 2015-10-01
    • 2020-04-22
    • 2018-02-13
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多