这是一个Redis存储token出现的问题,异常场景是这样的:
我在Redis中以token为Key存入了登录用户的信息,每次请求都会被拦截校验,还会在一些特定的场景更改登录用户的信息并且以token覆盖Redis里面的数据,在一次覆盖以后抛出了异常
完整异常是这样的:
org.springframework.data.redis.serializer.SerializationException: Could not deserialize: not close json text, token : string; nested exception is com.alibaba.fastjson.JSONException: not close json text, token : string
at com.alibaba.fastjson.support.spring.FastJsonRedisSerializer.deserialize(FastJsonRedisSerializer.java:67) ~[fastjson-1.2.59.jar:na]
at org.springframework.data.redis.core.AbstractOperations.deserializeValue(AbstractOperations.java:318) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:58) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:207) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:169) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:91) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:43) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at com.dj.p2p.config.TokenInterceptor.preHandle(TokenInterceptor.java:45) ~[classes/:na]
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:133) ~[spring-webmvc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:962) ~[spring-webmvc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) ~[spring-webmvc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.17.RELEASE.jar
博客讲述了在使用Redis存储token时遇到的问题,即更新登录用户信息时抛出异常。作者发现原因是覆盖Redis数据的对象内存地址变化,通过将设置Redis的值改为获取时的对象解决了问题,寻求对Redis更深入的理解。
最低0.47元/天 解锁文章
9万+

被折叠的 条评论
为什么被折叠?



