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(); }
有方法可以驱除特定用户、特定域或整个缓存中包含的用户。