【发布时间】:2020-10-20 05:20:27
【问题描述】:
尝试使用 StackExchange.Redis.Extensions.AspNetCore 客户端库从 C# 访问 Redis Key,手头的问题是这个 key 必须是仅由一个客户端更改。
key 的值为0,必须改为1,但只有读取0 的客户端,在写入1 时才是一个 获得控制权。
是否在许多语言中实现了相同的信号量模式,但这是为了让多个客户端获得对某些资源的控制权,直到通过再次编写 0 来释放它。
用例是来自不同位置的多个客户端竞相向key 发出原子read-modify-write 写入1,但只有一个(首先)读取0(如果以前的客户端已经拥有它,则没有),其余读取修改后的1。
有没有人使用 Redis 解决过这样的问题,有没有办法解决它或实现它的库。
【问题讨论】: