我必须在快速应用程序中创建类型为/:的用户名的路由。我可以为此考虑两种方法,我想知道哪些更适合性能优化。首先是通过调用db来动态地为路线服务,如果用户名存在以服务所需的配置文件。第二个是创建一个函数,以便在创建用户时,他的个人资料URL被硬编码到应用程序中,然后在删除用户时删除。这样,每当请求这种类型的URL时,就不会有对db的调用。所以问题是第二种情况下的性能问题会是什么,如果有的话,每种情况下的优缺点是什么,主要是性能方面的问题?使用快递的node.js中的动态路由性能
0
A
回答
0
做第一个。我不能说话表现(但是我认为从长远来看,第一个会更快),但是如果你的应用程序(不是说这会发生)会像Facebook一样受欢迎,那么你会得到1 000 000 000你的快递申请路线?即使试图启动你的应用程序也会变得荒谬。
数据库可以处理这个问题,如果你真的担心它,你可以保留已经检查过的用户名缓存。首先检查它们时添加它们,如果用户名被删除,则删除它们。
它现在也出现在我身上;你不需要执行几乎相同的查询来获取信息来填充配置文件吗?如果您建议在创建帐户时为每个配置文件创建静态页面,请不要这样做。这是数据库设计的目标,因此以这种方式使用它们是完全安全的。
+0
以后也发生在我身上,我以任何方式查询数据......谢谢,我不知道它是如何来到我的,但我真的想要对性能的意见,我认为你一定是对的......谢谢。 .. – anges244 2013-03-09 00:13:11
0
我简单的使用/:用户名和我有它我下面的其他途径,所以它不”取代其他网页像/登录
如果对于输入的用户不的话,我将其重定向到主页。
使用猫鼬,你可以做这样的事情:
//app.js
app.get('/:username', routes.profile.get);
//route handler
User.findOne({ username: req.params.username}, function(err, owner){
if (!owner) {
req.flash('error', 'Woops, looks like that account doesn\'t exist.');
res.redirect('/');
}
//do something with owner
});
相关问题
- 1. node.JS快递护照路由
- 2. 的Node.js /快速路由使用get PARAMS
- 3. 请在快递的具体路由具有比动态的
- 4. 使用动态段的路径路由
- 5. 快递JS路由错误(“不能GET /”)
- 6. socket.io不能使用静态文件路由node.js
- 7. React将动态状态传递给路由器中的所有路由
- 8. 使用node.js创建一个页面/路由动态
- 9. SailsJs中的动态路由
- 10. rails中的动态路由
- 11. bundle.js中的动态路由
- 12. mule中的动态路由
- 13. AngularJs中的动态路由
- 14. React路由器和快递
- 15. 角度路由与快递
- 16. 快递路由器处理
- 17. 在使用快递的第一级路径中使用动态内容
- 18. 快速路线中的动态路径
- 19. 在快递中设置动态路由参数的最佳做法
- 20. 部署的Node.js应用弹性魔豆(使用快递)
- 21. 使用.Net4 WCF路由器服务的动态路由
- 22. node.js中的简单路由
- 23. 发球反应的路由与快递
- 24. 快递的基本路由问题
- 25. Dojo和的NodeJS(快递/路由)
- 26. 在node.js中使用express.static(__目录名)功能时用快递
- 27. 使用Apache代理的Node.js路由
- 28. Node.js Express自动路由
- 29. 快递 - 获取路由器的路由器吗?
- 30. Zend_Controller_Router_Route的动态路由
我不认为蒙戈将受到影响,如果你会使用请求/搜索某个ID:用户名/姓名什么的。您可以在会话中缓存在线用户,也可以在Redis中稍后再说。 – 2013-03-08 23:45:01