Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许多个客户端在redis数据库中使用唯一的帐户_Redis - Fatal编程技术网

允许多个客户端在redis数据库中使用唯一的帐户

允许多个客户端在redis数据库中使用唯一的帐户,redis,Redis,因此,我有多个redis客户端,如: c1、c2、c3 在我的数据库中有多个独特的帐户,如: a1、a2、a3 我想让每个客户“屏蔽”一个账户,如果该账户被一个客户使用,则不允许另一个客户使用该账户。此外,如果持有帐户的客户端崩溃,则应取消阻止被阻止的帐户 我目前所做的是(例如id为0的帐户): 有更好的方法吗?我可能想使用脚本,但我认为应该有一个更简单的选项来解决这个问题。支持以下调用(我不确定您使用的是什么语言/客户端): 通过这种方式,您可以在一个命令中完成整个任务,而不必使用WATCH/

因此,我有多个redis客户端,如: c1、c2、c3

在我的数据库中有多个独特的帐户,如: a1、a2、a3

我想让每个客户“屏蔽”一个账户,如果该账户被一个客户使用,则不允许另一个客户使用该账户。此外,如果持有帐户的客户端崩溃,则应取消阻止被阻止的帐户

我目前所做的是(例如id为0的帐户):

有更好的方法吗?我可能想使用脚本,但我认为应该有一个更简单的选项来解决这个问题。

支持以下调用(我不确定您使用的是什么语言/客户端):


通过这种方式,您可以在一个命令中完成整个任务,而不必使用WATCH/MULTI/EXEC

您好,谢谢您的回答,太完美了:)。我正在使用go with the go redis。它似乎没有提供这一点,但命令生成器允许我轻松添加新命令。
K := account:0:used

watch(K)
multi

if exists(K)
abort

exec:
setWithTimeout(K,5*60*1000,"1")//Ensure Its blocked for 5 Minutes
SET account:0:used EX 3600 NX