Ok, Vì vậy, tôi đã tự mình nhận được nó, tôi đã thực hiện một số thay đổi trong lớp cấu hình phiên và khởi tạo nó bằng cách mở rộng AbstractHttpSessionApplicationInitializer
@EnableRedisHttpSession
public class SessionConfig {
@Bean
public LettuceConnectionFactory connectionFactory() {
return new LettuceConnectionFactory();
}
}
Bằng cách mở rộng AbstractHttpSessionApplicationInitializer
, đảm bảo rằng Spring Bean theo tên của springSessionRepositoryFilter
được đăng ký với Servlet Container của chúng tôi cho mọi yêu cầu. Để biết thêm thông tin, hãy tham khảo phần này
public class SessionConfigInitializer extends AbstractHttpSessionApplicationInitializer {
public SessionConfigInitializer() {
super(SessionConfig.class);
}
}
Sau đó, khi tôi nhìn vào máy chủ redis, tôi có thể thấy một cái gì đó như thế này
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>
Khía cạnh khác là từ máy chủ redis, sau khi bạn đặt phiên của mình, tùy thuộc vào giá trị bạn đang đặt mà bạn cần để truy xuất nó. Redis hỗ trợ sáu loại string, list, set, zset, hash and stream
. Trong trường hợp của tôi, đó là hàm băm để xem giá trị, lệnh sẽ là HGETALL <key>