请问该如何模拟redis分布式锁加锁解锁流程呢?

Blade 未结 1 322
ccc
ccc 2023-09-07 17:18

现在是想单机模拟一个公平锁加锁解锁的流程。

一个接口正常访问肯定是没有问题的。

现在是想模拟一个,先没有拿到锁,后来可以拿到锁的流程,看了代码,是有锁等待机制的。

现在的操作是现在redis里面存了一个key

调用接口,目前接口处于等待状态。

删除redis中的键,但是这个时候接口没有拿到锁,还是处于一个等待的状态,直到超时结束。

请问是流程有哪里不对吗?请问应该如何模拟这个流程呢?

1条回答
  •  admin
    admin (楼主)
    2023-09-10 23:25

    不用去删redis的值,你在代码里打上断点,先调用一次接口,让他进入断点模拟业务。之后再调用接口,这时候第二次的接口就在等待锁中。这时候你再让第一个接口请求跳过断点执行完毕,这样第二个请求就可以拿到锁进入接口。

    0 讨论(0)
提交回复