コード例 #1
0
        /// <summary>
        /// 清理活动站的Redis缓存
        /// </summary>
        /// <param name="cacheName"></param>
        /// <param name="cacheKey"></param>
        /// <returns></returns>
        public async Task <OperationResult <bool> > RemoveRedisCacheKeyAsync(string cacheName, string cacheKey, string prefixKey = null)
        {
            var realCacheKey = cacheKey;

            using (var client = CacheHelper.CreateCacheClient(cacheName))
            {
                if (!string.IsNullOrEmpty(prefixKey))
                {
                    var result = GlobalConstant.GetCacheKeyPrefixWithCache(prefixKey, cacheName);
                    if (result != null)
                    {
                        var timeSpan = result?.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries).ToList().LastOrDefault();
                        if (!string.IsNullOrEmpty(timeSpan))
                        {
                            realCacheKey = GlobalConstant.ActivityDeafultCachPrefixValue
                                           .Replace("{cacheKey}", cacheKey)
                                           .Replace("{timespansecond}", timeSpan);
                        }
                    }
                }
                var isExists = client.Exists(realCacheKey);
                if (!string.IsNullOrEmpty(isExists.RealKey))
                {
                    var result = await client.RemoveAsync(realCacheKey);

                    return(OperationResult.FromResult <bool>(result.Success));
                }
            }
            return(OperationResult.FromResult(true));
        }