最近进展,确定是可以写入到redis里。在读的时候报空指针。
写的id和读的id不一致,这个怎么解?
redis配置文件
##Redis数据库索引(默认为0),如果设置为1,那么存入的key-value都存放在select 1中
spring.redis.database=0
## Redis服务器地址
spring.redis.host=123.179.128.196
## Redis服务器连接端口
spring.redis.port=6379
## Redis服务器连接密码(默认为空)
spring.redis.password=123456
##连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=40000
##连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1ms
## 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
## 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
@RequestMapping(value = "/reg",method = RequestMethod.POST)
public Result codeSend(@RequestParam("mobile") String mobiles, HttpSession httpSession) throws Exception {
String smsCode = F.ranDom(5);
httpSession.removeAttribute("codes");
httpSession.setAttribute("codes", smsCode);
System.err.println("读取测试=" + httpSession.getAttribute("codes").toString());
return resultUT.success(LogEnum.LOG_F0);
}
@RequestMapping(value = "/get1")
public String gets(HttpSession session) {
return session.getAttribute("codes").toString();
}
@RequestMapping("/set")
public String index(HttpSession httpSession) {
String smsCode = F.ranDom(5);
httpSession.setAttribute("codes", smsCode);
return "ok";
}
@RequestMapping("/get")
public String hello(HttpSession httpSession) {
return httpSession.getId() + "=" + httpSession.getAttribute("codes").toString();
}
用的redis替代原来的session,这上面4个方法,其中codeSend可以写入,但是用get读取就会报java.lang.NullPointerException,set和get写入和读取session都正常。比较郁闷,问题出在哪里?
你看看你是不是同时开2个本地系统的原因, 如果是的话, 在HOSTS文件里, 自己给每个系统配一个本地访问域名,这样就不会窜了
如果是的话, 在HOSTS文件里, 自己给每个系统配一个本地访问域名,这样就不会窜
如果get出问题了,第一步看前端发送给你的sessionId是不是一直都是保持一致的,
如果保持一致说明是你后台的问题。是你后台的问题的话就先看这个session
的sessionId,是不是和前端一致,如果一致就表示你并没有把数据保存到session中。
https://blog.csdn.net/dream_broken/article/details/72676679
可能是从不同的服务器访问的原因