Redis
 sql >> Base de données >  >> NoSQL >> Redis

Configuration de la session de printemps sur le serveur Redis

Ok, donc je l'ai eu moi-même, j'ai fait quelques changements dans la classe de configuration de session et je l'ai initialisé en étendant AbstractHttpSessionApplicationInitializer

@EnableRedisHttpSession
public class SessionConfig {

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

En étendant AbstractHttpSessionApplicationInitializer , garantit que Spring Bean par le nom de springSessionRepositoryFilter est enregistré auprès de notre Servlet Container pour chaque demande. Pour plus d'informations, consultez ceci

public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {

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

Après cela, quand j'ai regardé dans le serveur Redis, je peux voir quelque chose comme ça

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'autre aspect provient du serveur Redis, une fois que vous avez défini votre session, en fonction de la valeur que vous définissez, vous devez la récupérer. Redis prend en charge six types string, list, set, zset, hash and stream . Dans mon cas, c'était un hachage, donc pour voir la valeur, la commande sera HGETALL <key>