gpt4 book ai didi

c# - Azure 是否有开箱即用的 key 分布式锁定方式?

转载 作者:行者123 更新时间:2023-12-02 05:52:23 25 4
gpt4 key购买 nike

我希望能够编写这样的代码

using (await LockAsync(x.Id))
{
// here goes code that is unsafe with respect to x.Id
// because it can be executed in multiple threads on
// the same instance or on multiple instances (e.g.
// multiple Azure Functions
}

我知道有一些开箱即用的方法可以在不使用 key 的情况下锁定整个执行上下文(例如函数中的 [ActivityTrigger]),并且我知道我可以使用 blob 滚动自己的 key 锁租赁,但是 key 锁有开箱即用的方法吗?

最佳答案

可以使用Redis分布式锁。

包裹RedLock.net完全满足您的需求:

var resource = "the-thing-we-are-locking-on";
var expiry = TimeSpan.FromSeconds(30);


using (var redLock = await redlockFactory.CreateLockAsync(resource, expiry)) // there are also non async Create() methods
{
// make sure we got the lock
if (redLock.IsAcquired)
{
// do stuff
}
}

关于c# - Azure 是否有开箱即用的 key 分布式锁定方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53510916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com