程序出现数值每次从redis获取不一样

  • 背景
    • 组员测试时发现数据每次获得的结果不一样

  • 思路
    • 猜想是不是redis有存多份数据
    • 查证之后发现mcat默认会建16个db
    • 而查询会根据dbindex查找,且在项目中存在传入dbIndex的情况
    • 验证方式1:编码测试,在默认set一个keyA后,传入dbIndex值set一个keyB,然后获取keyA发现获取结果不对,但是传入dbIndex为0get得到的结果是对的
    • 验证方式2:查看源码,发现db为client的一个属性,并且在select传入dbIndex后完成操作释放连接后并没有充值dbIndex值
    • 至此,找到问题

  • 处理
    • 增加接口重载,默认传入dbIndex为0
展开阅读全文

没有更多推荐了,返回首页