7.10. 用户缓存
当用户对象由 ID、用户名或电子邮件查询被缓存时。当用户对象被缓存时,它会迭代整个 UserModel 接口,并将这些信息拉取到一个本地只读缓存。在集群中,这个缓存仍然是本地的,但它会变为无效的缓存。修改用户对象时,它将被驱除。这个驱除事件会传播到整个集群,以便其他节点的用户缓存也无效。
7.10.1. 管理用户缓存 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以通过调用 KeycloakSession.userCache () 来访问用户缓存。
/**
* All these methods effect an entire cluster of Keycloak instances.
*
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*/
public interface UserCache extends UserProvider {
/**
* Evict user from cache.
*
* @param user
*/
void evict(RealmModel realm, UserModel user);
/**
* Evict users of a specific realm
*
* @param realm
*/
void evict(RealmModel realm);
/**
* Clear cache entirely.
*
*/
void clear();
}
有方法可以驱除特定用户、特定域或整个缓存中包含的用户。