起因:在根据token获取的对应的key时,根据key去获取数据获取不到
思考分析:
1.首先去查看redis中是否有对应的key
这个地方有的小曲折,我是直接用reids可视化工具去看的,然后发现redis库中是有先响应的key的。然后再次纠结了很久!!!
下次再检查的时候推荐直接使用redisTemplate去查询
Boolean b = redisTemplate.hasKey("xxxxxxx"); System.out.println(b);
结果发现响应的key是不存在
2.去检查redis的配置,redis的地址是否正确
这个地方我检查后也没有发现错误,连接的完全正确
RedisConnectionFactory connFactory = redisTemplate.getConnectionFactory();
LettuceConnectionFactory factory = (LettuceConnetionFactory)connFactory;
String hostName = factory.getHostName();
发现也没有问题
3.最关键的一点,redis一共有0-15个数据库,默认连接0的数据库,而我们的reids是和其他项目一块使用。检查项目配置是否指定连接redis的数据库!!!
int databaseNum = factory.getDatabase();
结果发现根本不是我们指定的库
检查项目配置文件,发现没有进行指定
解决办法添加对应的配置
redis:
host: xxxxxxx
port: 6379
database: 指定自己的目标库 //不进行指定默认为0库
password: