インターフェース UserCache
- すべての既知の実装クラス:
NullUserCache
,SpringCacheBasedUserCache
public interface UserCache
UserDetails
オブジェクトのキャッシュを提供します。 実装では、キャッシュパラメーター(有効期間など)を設定したり、通常の有効期限が切れる前にエンティティを強制的に削除したりするための適切なメソッドを提供する必要があります。これらは、使用されるキャッシングシステムの型(インメモリ、ディスク、クラスター、ハイブリッドなど)によって異なるため、UserCache
インターフェース契約の一部ではありません。
キャッシュは通常、リモートクライアントや Web サービスなど、サーバー側の状態を維持しないアプリケーションでのみ必要です。次に、認証資格情報が各呼び出しで提示され、検証するためにデータベースまたは他の永続ストレージメカニズムにアクセスするオーバーヘッドが過剰になります。この場合、毎回ロードするのではなく、 UserDetails 情報を格納するようにキャッシュを構成します。
メソッドのサマリー
修飾子と型メソッド説明getUserFromCache
(StringSE username) キャッシュからUserDetails
を取得します。void
putUserInCache
(UserDetails user) UserDetails
をキャッシュに配置します。void
removeUserFromCache
(StringSE username) 指定されたユーザーをキャッシュから削除します。
メソッドの詳細
getUserFromCache
キャッシュからUserDetails
を取得します。- パラメーター:
username
- ユーザーをキャッシュに入れるために使用されるUser.getUsername()
- 戻り値:
- ユーザーが見つからなかった場合、またはキャッシュエントリの有効期限が切れている場合は、設定された
UserDetails
またはnull
putUserInCache
- パラメーター:
user
- 完全に実装されたUserDetails
をキャッシュに配置する
removeUserFromCache
指定されたユーザーをキャッシュから削除します。username
は、ユーザーを削除するために使用されるキーです。ユーザーが見つからない場合、メソッドは(例外をスローせずに)単に戻る必要があります。一部のキャッシュ実装は、キャッシュからのエビクションをサポートしない場合があります。その場合、ドキュメント、例外、ログメッセージのいずれかでユーザーを変更する適切な動作を提供する必要があります。
- パラメーター:
username
- キャッシュから追い出される