Ok, więc dostałem to sam, zrobiłem kilka zmian w klasie konfiguracji sesji i zainicjowałem ją, rozszerzając AbstractHttpSessionApplicationInitializer
@EnableRedisHttpSession
public class SessionConfig {
@Bean
public LettuceConnectionFactory connectionFactory() {
return new LettuceConnectionFactory();
}
}
Rozszerzając AbstractHttpSessionApplicationInitializer
, zapewnia, że Spring Bean o nazwie springSessionRepositoryFilter
jest zarejestrowany w naszym kontenerze serwletów dla każdego żądania. Aby uzyskać więcej informacji, zapoznaj się z tym
public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {
public SessionConfigInitializer() {
super(SessionConfig.class);
}
}
Po tym, gdy spojrzałem na serwer redis, widzę coś takiego
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>
Drugi aspekt pochodzi z serwera redis, po ustawieniu sesji, w zależności od ustawionej wartości, którą musisz pobrać. Redis obsługuje sześć typów string, list, set, zset, hash and stream
. W moim przypadku był to hash, więc aby zobaczyć wartość, poleceniem będzie HGETALL <key>