高速アプリケーションで /:username タイプのルートを作成する必要があります。これには 2 つの方法が考えられますが、どちらがよりパフォーマンスが最適化されているのでしょうか。1 つ目は、データベースへの呼び出しでルートを動的に提供することです。ユーザー名が存在する場合は、必要なプロファイルを提供します。2 つ目は関数を作成することです。これにより、ユーザーが作成されたときにプロファイルの URL がアプリにハードコードされ、ユーザーが削除されたときに削除されます。この方法では、このタイプの URL が要求されるたびにデータベースが呼び出されません。したがって、問題は、2 番目のケースでのパフォーマンスの問題は何か、また、主にパフォーマンスに関して、それぞれのケースの長所と短所は何ですか?
1367 次
2 に答える
0
私は単に/:usernameを使用し、他のルートの下にあるので、/loginのような他のページに取って代わりません。
そのユーザー名のユーザーがいない場合は、ホームページにリダイレクトします。
マングースを使用すると、次のようなことができます。
//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
});
于 2013-03-09T00:24:40.073 に答える