public bool TryExecute <T>(IRedisGet <T> command, out T item)
        {
            item = default;
            if (!factory.IsEnabled)
            {
                return(false);
            }

            using (var connection = factory.Open())
            {
                if (connection.IsPassThrough)
                {
                    return(false);
                }

                return(command.Get(connection, out item));
            }
        }
        public T Execute <T>(IRedisGet <T> command) where T : class
        {
            if (!factory.IsEnabled)
            {
                return(null);
            }

            using (var connection = factory.Open())
            {
                if (connection.IsPassThrough)
                {
                    return(null);
                }

                if (command.Get(connection, out T item))
                {
                    return(item);
                }

                return(null);
            }
        }