美文网首页
Redis使用中你可能不知道的骚操作

Redis使用中你可能不知道的骚操作

作者: 暗夜行者 | 来源:发表于2019-04-14 11:12 被阅读0次

    实践中的错误小结,整理中。。。

    1.如果一个Hash结构,在redis中还没有对应的key值,你在java中访问,按照key hashkeyList形式去获取值,你以为会得到空吗?

    NO,得到的是一串的null list,list的个数由hashkeyList的个数决定。

    2.访问redis访问不到后的报错,是想实现一个如果获取不到连接让程序继续走下去的功能,于是想到一个try catch 万事大吉,然而以前的包获取不到redis是报RedisConnectionFailureException的异常,spring-data-redis包升级了之后(到2.1.5),报的却是连接超时之类的异常 好在他们都是继承runtime exception的,我就直接catch runtime了,

    原来这个包里有个ConnectionWatchdog ,如果一开始项目启动获取不到连接就不会重复访问,然而如果一开始成功获取到redis服务连接了,这个连接就会一直被监听,一旦连接停掉了,后台就会报错,不断输出log提示,然后再次访问,它会尝试三次访问redis,若访问不到才会抛异常,不过这么持续尝试访问的过程也蛮耗时间的,我亲测大概2分钟,其实这么做也蛮好的,可以做更多的异常提醒控制。

    说到底redis或者访问redis的工具包就是工具啊。。。它们的升级必然会伴随着使用方式的改变,但一般都会往好了改,作为使用者就要一直关注呢,IT行业技术这么多,要持续关注确实也是个考验人的事情,需要一定的兴趣或者使命感作支撑。

    3.log中会输出Spring Data Redis - Could not safely identify store assignment for repository candidate interface testapp.repositories.topics.TopicRepository.的问题

    大概意思就是spring redis不知道你的repository类是给Redis的还是数据库的,log输出很烦人,可以通过在配置文件中配置spring.data.redis.repositories.enabled = false来解决

    原文:https://stackoverflow.com/questions/39432764/info-warnings-about-multiple-modules-in-spring-boot-what-do-they-mean

    相关文章

      网友评论

          本文标题:Redis使用中你可能不知道的骚操作

          本文链接:https://www.haomeiwen.com/subject/mvejwqtx.html