似乎redisson分布式锁不起作用

时间:2020-06-09 08:49:12

标签: kotlin coroutine redisson distributed-lock

我正在测试redisson的分布式锁是否可以与kotlin和协程一起正常工作。

    runBlocking {
        repeat(1000) {
            launch {
                val lock = nonReactiveClient.getLock("lock")
                if(lock.tryLock(5, 5, TimeUnit.SECONDS)) {
                    try {
                        val value = test.get()
                        delay(10L)
                        test.set(value + 3)
                    } finally {
                        lock.unlock()
                    }
                }
            }
        }
    }

我认为结果值应为3000,因为分布式锁保证了“ get”和“ set”操作将在原子上一起执行。

但是当我试图获得价值时,我得到了以下结果:

127.0.0.1:6379> get test
"3"

我做错了什么?

0 个答案:

没有答案