Redis
 sql >> Database >  >> NoSQL >> Redis

Impostazione della sessione primaverile sul server redis

Ok, quindi l'ho preso da solo, ho apportato alcune modifiche alla classe di configurazione della sessione e l'ho inizializzata estendendo AbstractHttpSessionApplicationInitializer

@EnableRedisHttpSession
public class SessionConfig {

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

Estendendo AbstractHttpSessionApplicationInitializer , assicura che Spring Bean con il nome di springSessionRepositoryFilter è registrato con il nostro Servlet Container per ogni richiesta. Per ulteriori informazioni fare riferimento a questo

public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {

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

Dopo questo, quando ho guardato nel server redis, posso vedere qualcosa del genere

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> 

L'altro aspetto è dal server redis, una volta impostata la sessione, a seconda del valore che si sta impostando è necessario recuperarlo. Redis supporta sei tipi string, list, set, zset, hash and stream . Nel mio caso era hash quindi per vedere il valore il comando sarà HGETALL <key>