/// <summary>
        /// Configures the data protection system to persist keys to the specified key in Redis database
        /// </summary>
        /// <param name="builder">The builder instance to modify.</param>
        /// <param name="redisClient">The <see cref="CSRedisClient"/> for database access.</param>
        /// <param name="key">The used to store key list.</param>
        /// <returns>A reference to the <see cref="IDataProtectionBuilder" /> after this operation has completed.</returns>
        public static IDataProtectionBuilder PersistKeysToNewLifeRedis(this IDataProtectionBuilder builder,
                                                                       ProtectionFullRedis redisClient, string key)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (redisClient == null)
            {
                throw new ArgumentNullException(nameof(redisClient));
            }

            return(PersistKeysToNewLifeRedisInternal(builder, () => redisClient, key));
        }
 /// <summary>
 /// Configures the data protection system to persist keys to the default key ('DataProtection-Keys') in Redis database
 /// </summary>
 /// <param name="builder">The builder instance to modify.</param>
 /// <param name="redisClient">The <see cref="CSRedisClient"/> for database access.</param>
 /// <returns>A reference to the <see cref="IDataProtectionBuilder" /> after this operation has completed.</returns>
 public static IDataProtectionBuilder PersistKeysToNewLifeRedis(this IDataProtectionBuilder builder,
                                                                ProtectionFullRedis redisClient)
 {
     return(PersistKeysToNewLifeRedis(builder, redisClient, DataProtectionKeysName));
 }