Ok, så jeg fik det på egen hånd, jeg lavede nogle ændringer i sessionskonfigurationsklassen og initialiserede den ved at udvide AbstractHttpSessionApplicationInitializer
@EnableRedisHttpSession
public class SessionConfig {
@Bean
public LettuceConnectionFactory connectionFactory() {
return new LettuceConnectionFactory();
}
}
Ved at udvide AbstractHttpSessionApplicationInitializer
, sikrer, at Spring Bean med navnet springSessionRepositoryFilter
er registreret hos vores Servlet Container for hver anmodning. For mere information se denne
public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {
public SessionConfigInitializer() {
super(SessionConfig.class);
}
}
Efter dette, da jeg kiggede i redis-serveren, kan jeg se noget som dette
127.0.0.1:6379> keys '*'
1) "spring:session:expirations:1597497540000"
2) "spring:session:index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME:admin"
3) "spring:session:sessions:expires:dc2172eb-2282-4600-9cd3-7f5d9bbb62b8"
4) "spring:session:sessions:dc2172eb-2282-4600-9cd3-7f5d9bbb62b8"
127.0.0.1:6379>
Det andet aspekt er fra redis-serveren, når du har indstillet din session, afhængigt af hvilken værdi du indstiller, skal du bruge for at hente den. Redis understøtter seks typer string, list, set, zset, hash and stream
. I mit tilfælde var det hash, så for at se værdien vil kommandoen være HGETALL <key>