bladex的redis分布式锁,是否支持锁住的时候,其他请求直接抛异常(或者自定义获取锁失败逻辑)吗

Blade 未结 1 1262
3395733618
3395733618 2021-04-02 18:35

一、该问题的重现步骤是什么?

1. 如题

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

2.7.2   centos7

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2021-04-06 10:22

    锁住后其他请求进不来的,只有执行完毕了才会有新的一个请求进入

    作者追问:2021-04-06 10:22

    我不是这个意思,举个例子

    image.png

    我加了一个这样的锁,为了方便验证,等待时间设置为1s。

    然后第二个请求过来的时候,拿不到锁,且过了1s,就直接返回http status 200了,且响应体是空的。这样很不友好。

    我想要处理这里的逻辑,抛个异常,或者给响应体加一点提示文字之类的。

    回答: 2021-04-06 10:22

    不是很明白你的描述,你想要的是如果一个请求过来,如果其他请求已经进入被锁住,那就让这个请求等待解锁,等解锁期间超时了,就返回一个提示不再等待么?如果不是这样的话,你完善下问题,把你每一步骤包括断点等等详细描述一下。

    分布式锁的核心在这一块,你可以对他进行拓展

    image.png

    0 讨论(0)
提交回复