开发者社区> 问答> 正文

如何做mongodb+nodejs的缓存?

类似于朋友圈,当大量用户拉feed时,是不是需要一个缓存来放置最新的数据呢?

应该选择Redis 还是Memcached 呢?
如果选择redis,是不是不能和mongodb放在同一个服务器上?

“if you put MongoDB and Redis on the same box and MongoDB data do not fit in memory, MongoDB will “steal” memory to Redis via the OS paging mechanism. The consequence is a major performance drop for Redis.”

缓存里应该存什么?存所有的原始数据吗??还是只存_id字段之类的??

展开
收起
落地花开啦 2016-01-30 16:43:35 3197 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果你的后端是使用node.js的话,那么使用mongoDB作为主数据库。
    如果需要缓存的数据结构,比较多,复杂,则使用Redis。
    如果比较简单,没有特别的功能,就使用Memcached。
    不过我强烈推荐使用Redis。
    Redis可以和你的主数据库在同一台服务器上,也可以不同,这个根据你自己的意向
    至于缓存,当然是你需要缓存什么就缓存什么。你如果只缓存_id,那还是需要去mongoDB中查询的。
    比如:你朋友圈的朋友都有备注名,你觉得每次根据好友关系去查备注名,那你可以把这部分数据放到Redis中,就避免去主数据库中查。

    2019-07-17 18:36:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载