【发布时间】:2017-04-19 03:34:59
【问题描述】:
谢谢大家! 最近我想在流星上建一个小cms,但是有一些问题
1、缓存、页面缓存、数据缓存等。
例如,当人们搜索某篇文章时
在服务器端:
Meteor.publist('articles',function(keyword){
return Articles.find({keyword:keyword});
});
在客户端:
Meteor.subscribe('articles',keyword);
没关系,但是...... 问题是,每次人们这样做时,它都会调用一个 mongo 查询,并降低性能, 在其他框架中使用常见的 http 或 https,人们可以依赖 squid 或 varnish 之类的东西来缓存页面或数据,因此每次路由到 url 时,都会从缓存服务器读取数据,但 Meteor 建立在 socket.js 或 websocket ,而且我不知道如何通过套接字缓存.......我尝试了清漆,但没有看到任何效果。 那么,可能是它忽略了 websocket 吗?有什么方法可以缓存数据,在 mongodb 中,在服务器中,我可以添加一些缓存服务器吗?
2、聊天
我在https://github.com/zquestz/simplechat 中看到了聊天室示例 但是与使用socket.js的暗示不同,这个例子将聊天消息保存在mongodb中,所以数据流是消息->mongo->query->people,这也调用了mongo查询! 在socket.js中,只需将套接字保存在上下文(或服务器端缓存)中,这样数据就不会通过数据库。 我的问题是,Meteor 中是否有套接字接口,所以我可以使用 message->socket->people?如果不能,作为聊天室示例在生产环境中的表现如何(我看到它运行缓慢......)
【问题讨论】: