0

高速アプリケーションで /:username タイプのルートを作成する必要があります。これには 2 つの方法が考えられますが、どちらがよりパフォーマンスが最適化されているのでしょうか。1 つ目は、データベースへの呼び出しでルートを動的に提供することです。ユーザー名が存在する場合は、必要なプロファイルを提供します。2 つ目は関数を作成することです。これにより、ユーザーが作成されたときにプロファイルの URL がアプリにハードコードされ、ユーザーが削除されたときに削除されます。この方法では、このタイプの URL が要求されるたびにデータベースが呼び出されません。したがって、問題は、2 番目のケースでのパフォーマンスの問題は何か、また、主にパフォーマンスに関して、それぞれのケースの長所と短所は何ですか?

4

2 に答える 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 に答える