/// <summary>
        /// Performs Redis transaction
        /// </summary>
        /// <param name="act">transaction content</param>
        public Task PerformTransactionAsync(RedisTransactionAct act)
        {
            if (act == null)
            {
                throw new ArgumentNullException(nameof(act));
            }

            return(InternalPerformTransactionAsync(act));
        }
        async Task InternalPerformTransactionAsync(RedisTransactionAct act)
        {
            await using var t = BeginTransaction();

            await act(t);
        }