1

と で Perl Catalyst を使用しCatalyst::Plugin::Session::State::CookieていCatalyst::Plugin::Session::Store::Redisます。ログインしているユーザーは最大で 2,000 人ですが、Redis ストアには 200 万を超えるキーがあります。

ほとんどの認証は、API キーを介して行われます。API 呼び出しごとに新しいセッションが作成されて保存されるのでしょうか (API 呼び出しにはおそらく Cookie はありません)、それとも Web サイトへのすべての新しい訪問者が自動的にセッションを作成するのでしょうか。

解決策は、デフォルトで非常に短い有効期限 (数分) を設定し、ユーザーが Web インターフェイスを介してログインするときに、より長い有効期限で上書きすることです。

保存されるセッションの数を最小限に制限するための最良の方法は何であるか疑問に思っていました。

4

1 に答える 1

2

Redis タイムアウトはこの目的のためのものです。すべてのセッションが期限切れになるのを防ぐための特定の差し迫ったユースケースがない限り (何も表示されません)、実用的な時間制限 (デフォルト: 300) に設定する必要があります。

ただし、古いバージョンの redis では問題があるため、この機能をテストする前に、最新の redis をインストールして修正する必要があります。

于 2013-03-29T05:46:03.457 に答える