Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Configurando a sessão de primavera no servidor redis


Ok, então eu consegui por conta própria, fiz algumas alterações na classe de configuração da sessão e inicializei estendendo AbstractHttpSessionApplicationInitializer
@EnableRedisHttpSession
public class SessionConfig {

    @Bean
    public LettuceConnectionFactory connectionFactory() {
        return new LettuceConnectionFactory();
    }
}

Ao estender AbstractHttpSessionApplicationInitializer , garante que o Spring Bean com o nome de springSessionRepositoryFilter é registrado com nosso Servlet Container para cada solicitação. Para mais informações consulte este
public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {

    public SessionConfigInitializer() {
        super(SessionConfig.class);
    }
}

Depois disso, quando olhei no servidor redis, posso ver algo assim
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> 

O outro aspecto é do servidor redis, depois de definir sua sessão, dependendo do valor que você está configurando, você precisa recuperá-lo. O Redis suporta seis tipos string, list, set, zset, hash and stream . No meu caso foi hash então para ver o valor o comando será HGETALL <key>