Добре, така че го получих сам, направих някои промени в конфигурационния клас на сесията и го инициализирах, като разширих AbstractHttpSessionApplicationInitializer
@EnableRedisHttpSession
public class SessionConfig {
@Bean
public LettuceConnectionFactory connectionFactory() {
return new LettuceConnectionFactory();
}
}
Чрез разширяване на AbstractHttpSessionApplicationInitializer
, гарантира, че Spring Bean с името на springSessionRepositoryFilter
се регистрира в нашия Servlet Container за всяка заявка. За повече информация вижте това
public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {
public SessionConfigInitializer() {
super(SessionConfig.class);
}
}
След това, когато погледнах в Redis сървъра, мога да видя нещо подобно
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>
Другият аспект е от сървъра на redis, след като зададете сесията си, в зависимост от стойността, която задавате, трябва да я извлечете. Redis поддържа шест типа string, list, set, zset, hash and stream
. В моя случай това беше хеш, така че за да видите стойността, командата ще бъде HGETALL <key>