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>