6.5. 离线会话预加载
除了 Infinispan 缓存外,离线会话存储在数据库中,这意味着即使在服务器重启后也会可用。默认情况下,在服务器启动过程中,离线会话不会从数据库加载到 Infinispan 缓存中,因为如果很多离线会话被预加载,则这种方法存在缺陷。它可能会在服务器启动时间显著降低。因此,离线会话默认从数据库获取。
但是,Red Hat Single Sign-On 可以配置为在服务器启动期间将离线会话从数据库加载到 Infinispan 缓存。它可通过将 userSessions
SPI 中的 preloadOfflineSessionsFromDatabase
属性设置为 true
来实现。
以下示例演示了如何配置离线会话预加载。
使用 CLI 命令进行等同的配置:
/subsystem=keycloak-server/spi=userSessions:add(default-provider=infinispan) /subsystem=keycloak-server/spi=userSessions/provider=infinispan:add(properties={preloadOfflineSessionsFromDatabase => "true"},enabled=true)
/subsystem=keycloak-server/spi=userSessions:add(default-provider=infinispan)
/subsystem=keycloak-server/spi=userSessions/provider=infinispan:add(properties={preloadOfflineSessionsFromDatabase => "true"},enabled=true)