/// <summary>
        /// 增加Account登录失败次数
        /// </summary>
        /// <param name="account"></param>
        /// <param name="loginFailedMaxCount"></param>
        /// <param name="loginFailedTimeOut"></param>
        /// <returns></returns>
        public async Task <UserLoginFailedBucket> AddUserLoginFailedRecord(string account, int loginFailedMaxCount, int loginFailedTimeOut)
        {
            var key    = new UserLoginFailedBucket().GetKeyFormat(account);
            var record = await _cacheProvider.Get <UserLoginFailedBucket>(key);

            if (record == null)
            {
                record = new UserLoginFailedBucket()
                {
                    Account     = account,
                    FailedCount = 1
                };
            }
            else
            {
                if (record.FailedCount < loginFailedMaxCount)
                {
                    record.FailedCount++;
                }
                else
                {
                    record.ExpireAtTime = DateTime.Now.AddMinutes(loginFailedTimeOut);
                }
            }
            await _cacheProvider.Set(key, record, CacheConfig.TimeOutLoginFailed);

            return(record);
        }
 /// <summary>
 /// 移除Account登录失败记录
 /// </summary>
 /// <param name="account"></param>
 public async Task RemoveUserLoginFailedRecord(string account)
 {
     var key = new UserLoginFailedBucket().GetKeyFormat(account);
     await _cacheProvider.Remove(key);
 }