public Task <RedisResult> ExecuteAsync(IDatabaseAsync database, TArgument argument, bool fireAndForget = false) => // database.ScriptEvaluate must be called instead of _script.Evaluate in order to respect the database's key prefix database.ScriptEvaluateAsync(this._script, this._parameters(argument), flags: RedLockHelper.GetCommandFlags(fireAndForget));
public Task ReleaseAsync(IDatabaseAsync database, bool fireAndForget) => database.SortedSetRemoveAsync(this._key, this._lockId, RedLockHelper.GetCommandFlags(fireAndForget));
public Task <RedisResult> ExecuteAsync(IDatabaseAsync database, TArgument argument, bool fireAndForget = false) => this._script.EvaluateAsync(database, this._parameters(argument), flags: RedLockHelper.GetCommandFlags(fireAndForget));
public void Release(IDatabase database, bool fireAndForget) => database.SortedSetRemove(this._key, this._lockId, RedLockHelper.GetCommandFlags(fireAndForget));