博客摘录「 redis根据key获取不到数据原因分析」2023年12月15日

文章讨论了在使用Redis时遇到的问题,即通过token获取key但无法找到对应数据。作者首先检查了Redis库中key的存在,确认Redis连接配置无误,关键在于发现项目没有指定连接到正确的数据库。最后,解决方法是添加数据库配置以指定目标库。
摘要由CSDN通过智能技术生成

 起因:在根据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: 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值