【发布时间】:2018-12-16 04:23:25
【问题描述】:
我认为我在 Redis 中保存会话信息时遇到问题。我尝试按照关于spring-session-data-redis 的说明进行操作,但是当我开始请求时,我在redis 中找不到任何会话信息。以下是我的代码和配置。
application.properties 文件:
spring.session.store-type=redis
spring.session.redis.flush-mode= on-save
spring.session.redis.namespace= spring:session
spring.redis.host= 10.10.10.10
spring.redis.port=10000
pom.xml:
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
</dependency>
应用配置类:
@Configuration
@EnableRedisHttpSession
@PropertySource("application.properties")
public class AppConfig {
@Value("${spring.redis.host}")
private String redisHostName;
@Value("${spring.redis.port}")
private int redisPort;
@Bean
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(
redisHostName, redisPort);
return new JedisConnectionFactory(redisStandaloneConfiguration);
}
}
还有我的示例获取请求控制器:
// test only
@CrossOrigin
@GetMapping(value = "/test/test")
public String justTest(HttpServletRequest request) {
HttpSession session = request.getSession();
session.setAttribute("sessionId", "ssssss");
String value = (String) session.getAttribute("sessionId").toString();
return value;
}
我错过了什么吗? spring-session-data-redis 应该自动将会话存储到 Redis,但它似乎没有那样做。我需要spring-session 依赖和spring-data-redis 依赖吗? redis连接没问题,我设置为监听所有接口。
发起请求时好像可以检索到会话ID,但是为什么会话没有插入到Redis中?
【问题讨论】:
-
您的问题解决了吗?我面临同样的问题,我从 Spring Boot 中浏览示例项目以寻求解决方案
-
嗨@billcyz,你的问题解决了吗?我遇到了同样的情况并寻找答案。 stackoverflow.com/questions/63326384/…
标签: java spring-boot session redis