我必須在快速應用程序中創建類型爲/:的用戶名的路由。我可以爲此考慮兩種方法,我想知道哪些更適合性能優化。首先是通過調用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