0

私は Infinispan 8.1.0 を使用しています。

私のプロジェクトでは、1 人のユーザーがシステムに接続するたびに、ユーザー ID とセッション ID に基づいて名前付きキャッシュが作成されるように、セッション キャッシュのような infinispan キャッシュを選択しました。

セッション キャッシュのように infinispan を使用すると、セッション メモリを処理する必要があるため、キャッシュの寿命を処理する必要があります。したがって、私が直面しなければならない問題は次のとおりです。

ユーザーがデフォルトのログアウトボタンをクリックせずにブラウザーを閉じたときに、ユーザーセッションキャッシュを削除するにはどうすればよいですか?

ユーザー セッション キャッシュの有効期間を実行時に動的に更新するにはどうすればよいですか? 実際、各ユーザー要求の後にユーザー セッションの有効期限を更新する必要があります。そうしないと、セッションがまだ有効であっても、X 分後にユーザーはキャッシュ内のデータを見つけることができなくなります。

infinispan を使用して実行時に設定し、キャッシュの作成後に再度作成せずにキャッシュの有効期限を設定することは可能ですか?

4

1 に答える 1

1

キャッシュについて、本来の用途とは異なる考え方をしている。リレーショナル DB のテーブルと同様に、すべてのユーザーに対して単一のキャッシュが必要であり、ユーザー ID とセッション ID はキャッシュ名ではなくキーを形成する必要があります。

次に、このキャッシュ内のエントリのデフォルトの有効期限を設定できます (エントリごとに上書き可能)。ただし、キャッシュ自体は完全に期限切れになるわけではありません。

于 2016-07-12T07:17:25.350 に答える