6.5. 오프라인 세션 사전 로드
Infinispan 캐시 외에도 오프라인 세션은 데이터베이스에 저장되므로 서버를 다시 시작한 후에도 사용할 수 있습니다. 기본적으로 오프라인 세션은 서버 시작 중에 데이터베이스에서 Infinispan 캐시로 사전 로드되지 않습니다. 이 방법은 사전 로드해야 하는 오프라인 세션이 많이 있는 경우 단점이 있기 때문입니다. 서버 시작 시간을 크게 저하시킬 수 있습니다. 따라서 오프라인 세션은 기본적으로 데이터베이스에서 실수로 가져옵니다.
그러나 Red Hat Single Sign-On은 서버를 시작하는 동안 데이터베이스에서 Infinispan 캐시로 오프라인 세션을 사전 로드하도록 구성할 수 있습니다. userSessions
SPI에서 preloadOfflineSessionsFromDatabase
속성을 true
로 설정하여 수행할 수 있습니다.
다음 예에서는 오프라인 세션 사전 로드를 구성하는 방법을 보여줍니다.
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.2"> ... <spi name="userSessions"> <default-provider>infinispan</default-provider> <provider name="infinispan" enabled="true"> <properties> <property name="preloadOfflineSessionsFromDatabase" value="true"/> </properties> </provider> </spi> ... </subsystem>
CLI 명령을 사용하는 동등한 구성:
/subsystem=keycloak-server/spi=userSessions:add(default-provider=infinispan) /subsystem=keycloak-server/spi=userSessions/provider=infinispan:add(properties={preloadOfflineSessionsFromDatabase => "true"},enabled=true)