今天处理一个现场问题时,发现了一个Redis使用过程中不是很小众,但不仔细容易犯的错误。相信根据文章标题,大家已经猜出来我们要讨论的话题了,没错,就是如此!
接下来,我们一起来看看这个问题
下午时,我们现场的小伙伴发给我这样一个报错截图,当我看到这个错误时,就明白了是去OSS生成一个临时路径,但在生成过程中,找不到OSS相关的信息,所以提示错误。
既然找到问题就好办了,根据客户需求,我们其实是不需要走OSS的逻辑的,那我们只需要修改对应参数调整至else逻辑即可。
页面传入参数,后端修改缓存,一键完成。OK,告诉现场同事,准备摸鱼!
-----------------------------------------------------5分钟后----------------------------------------------------
短暂的休息过后,同事又双叒叕来告诉我,还是报错!!!
再来分析代码,通过简短的分析可得,获取IF判断的参数是通过redis获取,先告诉现场同事删除缓存,去查库。然后我们再细细分析问题
代码看到这里,那我们获取应该去reids看看是不是参数不对。OK,我们先打开——————嗯?
等等!
我好像发现上次截的图里,修改缓存部分的key有大写字母,而在这里变成了小写!!!
做个小测验,我们给缓存加一个一样字符的小写key
果然不出我所料,同事在删除key时,由于使用的key包含小写字母,所以实际上并没有真正的删除我们获取数据。
由此我们得出一个结论:Redis的Key是区分大小写的!!!