怎么做nodejs+mongodb缓存??
发布于 1天前 作者 XueQian 255 次浏览 来自 问答

类似于朋友圈,当大量用户拉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字段之类的?? http://www.infoworld.com/article/2825890/application-development/why-redis-beats-memcached-for-caching.html http://stackoverflow.com/questions/11218941/architecture-for-redis-cache-mongo-for-persistence

12 回复

@359056163 没有必要做缓存吗?那么拉feed时,如果几万条数据,用一个get请求返回吗??

有个一个叫做 pomelo-sync 的东西,你可以在 github 上找找

@359056163 pomelo sync 模块是管理游戏进程内需要持久化的数据在内存和存储系统之间的同步,提供一种异步的同步方式,根据用户配置定时的同步数据到持久层,如MYSQL,Redis,文件等。不太适合我的朋友圈需求吧 https://github.com/NetEase/pomelo-sync https://github.com/NetEase/pomelo/wiki/pomelo-sync%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3

@XueQian 举例只是举了MySQL,其实mongodb也是可以得。

@359056163 文档上写的是管理游戏进程。。。。我要做的事朋友圈。也可以吗?

@XueQian 可以得。处理的都是数据。它的更新方式也比较灵活。可以自己定义接口。

@359056163 恩恩,好的,我好好看下,有问题再问您,谢谢了

我也在了解中

没必要加缓存,如果需要,加一个solr或者elasticsearch才是正道

@i5ting 我也这么觉得。mongodb的写入速度本身就非常好,而且,数据库本身也有使用内存缓存一部分数据。

@i5ting solr是用于搜索的,和缓存有啥关系?

回到顶部