程序运行正常,但是Redis服务器上并没有生成lck_acc_000这个key?

程序运行正常,但是Redis服务器上并没有生成lck_acc_000这个key?

直接拿教程代码运行,

无论开锁还是关锁,

结果都符合预期,和教程一致

但是在Redis服务器上,始终都没有生成lck_acc_000这个key,

请问是什么原因?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2024-07-12 13:38:36

同学你好,从同学的描述中看,这个key应该是正常生成并且生效了,否则代码不会正常运行的。但是同学描述的,没有生成,可能是没有显示,同学可以测试一下。例如在代码中,将sleep的时间放大到足够长,然后运行代码,这样代码会停顿很久,此时直接在Redis中使用命令查询一下,应该是可以查到的。

祝学习愉快~

  • 提问者 坨坨儿 #1

    真没有生成,我理解的过程是:

    应用程序先运行SpringBoot,此时IoC就应该已经初始化了RedissionClient,当第1次发起post请求后,就应该生成了key,事实上,我可以不运行单元测试,直接在浏览器或Postman上发起POST请求,这样也能看到Redis服务器上生成的key,但事实上这样做也没有生成

    然后我再运行单元测试,由于多线程共发起了5次请求,后续4次都是在争抢同一把锁而已,运行结果跟视频教程完全一致,无论是在RedisInsight中,还是Redis-Cli中都没有找到key,尝试切库也没看到这个Key。

    真不知道原因,因为代码一个字都没改。唯独修改之处,就是开关锁的两行代码注释和取消注释做结果对比



    2024-07-12 14:51:02
  • 提问者 坨坨儿 #2

    看到了

    2024-07-12 14:52:40
  • 提问者 坨坨儿 #3

    是我手慢了,时间再放长一点就出来了,

    2024-07-12 14:53:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java工程师 2024版
  • 参与学习       2020    人
  • 提交作业       1249    份
  • 解答问题       1202    个

2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师