セッション永続性のために node.js + redis を使用していますが、redis ストアまたはその他のセッション永続性のほぼすべての例で、構成可能なセッションの静的なmaxAge またはタイムアウトがあることに気付きました。
セッションの長さは最後のインタラクションに基づいている必要があるため、タイムアウトを更新できるようにすることは私には理にかなっています。EXPIRE ドキュメントに関する Redis のドキュメントには、タイムアウトの更新に関するセクションがあります。
セッションタイムアウトの更新は設計上悪いですか? 静的タイムアウトを常に使用する必要がありますか?
編集
私の特定のケースのドキュメントが見つからなかったため、最初の質問は非常に一般的であり、おそらくそれは悪い習慣だと思いました! ソースコードを見て、Connect + Node でこれを行う方法を最終的に発見しました。
- Connectはヘッダー
end
イベントをリッスンします(セッションを更新することを知るため) - イベントが発生すると、セッション ストアにセッションの保存を要求します。
- 特にconnect-redisの一部として、 save メソッドは maxAge を更新します
要するに、私はドキュメントの間違った場所を見ていました。Connect#sessionは、maxAge に新しい値が割り当てられた場合に、セッション ストア (connect-redis など) がそれを尊重する方法を説明しています。