redis-railsのセッション有効期限の挙動を確かめて遊ぶ


redis-railsのセッション有効期限の挙動をチェック

ローカルでサイトにアクセスすることで3ヶ月の期限付きセッションデータが生成される設定をしている。

redisを起動

command
redis-cli

DB1を選択する(設定によって変わります)

redis-commands
select 1

サイトにアクセス、キー一覧を取得。
=>1件のデータが作られている

7889224とは秒数のことで、有効期限である。

【有効期限を無期限にするとどうなる?】

再度サイトにアクセス

  • データは1件しかないので、セッションは新規に作られた訳ではない
  • 有効期限が無期限(-1)になり、過去のセッション情報が更新されたことがわかる

【有効期限を60秒に変更してみた】

再度変更後サイトにアクセス

  • 先ほど、無期限に設定したセッションデータの有効期限が60秒に更新された
  • 徐々に秒数のカウントが減っていき、最後は-2(データ見つからない)になりました。

複数のユーザーがいる場合の挙動はどうなる?

プライベートブラウザと通常のブラウザの2種類を用いて、2種類のセッションを作成した

1つ目も2つ目も、有効期限は60ヶ月に設定している

【有効期限を60秒に変更し片方だけサイトにアクセスする】

サイトにアクセスしたセッションは有効期限が更新され、60秒後には消えることになった。
アクセスしていない方は残り続けている。

画像では残り49秒で消えると表示されている

片方のセッションは60秒が経過し、削除されました