コード例 #1
0
        protected virtual async Task RemoveByPatternAsync(string pattern)
        {
            foreach (var endPoint in _connectionWrapper.GetEndPoints())
            {
                var server = _connectionWrapper.GetServer(endPoint);
                var keys   = server.Keys(database: _db.Database, pattern: $"*{pattern}*");

                await _db.KeyDeleteAsync(keys.ToArray());
            }
        }
コード例 #2
0
 /// <summary>
 /// Removes items by key pattern
 /// </summary>
 /// <param name="pattern">String key pattern</param>
 public virtual void RemoveByPattern(string pattern)
 {
     foreach (var endPoint in _connectionWrapper.GetEndPoints())
     {
         var server = _connectionWrapper.GetServer(endPoint);
         var keys = server.Keys(database: _db.Database, pattern: $"*{pattern}*");
         foreach (var key in keys)
             Remove(key);
     }
 }
コード例 #3
0
 /// <summary>
 /// Removes items by pattern
 /// </summary>
 /// <param name="pattern">pattern</param>
 public void RemoveByPattern(string pattern)
 {
     foreach (var ep in _connectionWrapper.GetEndPoints())
     {
         var server = _connectionWrapper.GetServer(ep);
         var keys   = server.Keys(database: _db.Database, pattern: "*" + pattern + "*");
         foreach (var key in keys)
         {
             Remove(key);
         }
     }
 }
コード例 #4
0
 public virtual void KalıpİleSil(string pattern)
 {
     foreach (var ep in _connectionWrapper.GetEndPoints())
     {
         var server = _connectionWrapper.GetServer(ep);
         var keys   = server.Keys(database: _db.Database, pattern: "*" + pattern + "*");
         foreach (var key in keys)
         {
             Sil(key);
         }
     }
 }
コード例 #5
0
        /// <summary>
        /// 通过正则表达式移除数据
        /// </summary>
        /// <param name="pattern"></param>
        /// <returns></returns>
        protected virtual async Task RemoveByPatternAsync(string pattern)
        {
            _perRequestCacheManager.RemoveByPattern(pattern);
            foreach (var endPoint in _connectionWrapper.GetEndPoints())
            {
                var server = _connectionWrapper.GetServer(endPoint);
                var keys   = server.Keys(database: _db.Database, pattern: $"*{pattern}*");

                //始终保留保护key的数据
                keys = keys.Where(key => !key.ToString().Equals(OarmsCachingDefaults.RedisDataProtectionKey, StringComparison.OrdinalIgnoreCase));

                await _db.KeyDeleteAsync(keys.ToArray());
            }
        }
コード例 #6
0
 public virtual void RemoveByPattern(string pattern)
 {
     foreach (var ep in _connectionWrapper.GetEndPoints())
     {
         var server = _connectionWrapper.GetServer(ep);
         var keys   = server.Keys(database: _db.Database, pattern: "*" + pattern + "*");
         foreach (var key in keys)
         {
             //Remove(KeyHp.GetCacheKey(key));
             // Remove(key);
             DirectRemoveKey(key);
         }
     }
 }
コード例 #7
0
        /// <summary>
        /// Removes items by key pattern
        /// </summary>
        /// <param name="pattern">String key pattern</param>
        protected virtual async Task RemoveByPatternAsync(string pattern)
        {
            _perRequestCacheManager.RemoveByPattern(pattern);

            foreach (var endPoint in _connectionWrapper.GetEndPoints())
            {
                var server = _connectionWrapper.GetServer(endPoint);
                var keys   = server.Keys(database: _db.Database, pattern: $"*{pattern}*");

                //we should always persist the data protection key list
                keys = keys.Where(key => !key.ToString().Equals(RedisConfiguration.DataProtectionKeysName, StringComparison.OrdinalIgnoreCase));

                await _db.KeyDeleteAsync(keys.ToArray());
            }
        }
コード例 #8
0
        /// <summary>
        /// Removes items by key pattern
        /// </summary>
        /// <param name="pattern">String key pattern</param>
        protected virtual async Task RemoveByPatternAsync(string pattern)
        {
            _perRequestCacheManager.RemoveByPattern(pattern);

            foreach (System.Net.EndPoint endPoint in _connectionWrapper.GetEndPoints())
            {
                IServer server = _connectionWrapper.GetServer(endPoint);
                System.Collections.Generic.IEnumerable <RedisKey> keys = server.Keys(database: _db.Database, pattern: $"*{pattern}*");

                //we should always persist the data protection key list
                keys = keys.Where(key => !key.ToString().Equals(NopCachingDefaults.RedisDataProtectionKey, StringComparison.OrdinalIgnoreCase));

                await _db.KeyDeleteAsync(keys.ToArray());
            }
        }
コード例 #9
0
        protected virtual IEnumerable <RedisKey> GetKeys(EndPoint endPoint, string prefix = null)
        {
            var server = _connectionWrapper.GetServer(endPoint);
            var keys   = server.Keys(_db.Database, string.IsNullOrEmpty(prefix) ? null : $"{prefix}*");

            keys = keys.Where(key => !key.ToString().Equals(CachingDefaultSettings.RedisDataProtectionKey, StringComparison.OrdinalIgnoreCase));
            return(keys);
        }
コード例 #10
0
        /// <summary>
        /// Gets the list of cache keys prefix
        /// </summary>
        /// <param name="endPoint">Network address</param>
        /// <param name="prefix">String key pattern</param>
        /// <returns>List of cache keys</returns>
        protected virtual IEnumerable <RedisKey> GetKeys(EndPoint endPoint, string prefix = null)
        {
            var server = _connectionWrapper.GetServer(endPoint);

            //we can use the code below (commented), but it requires administration permission - ",allowAdmin=true"
            //server.FlushDatabase();

            var keys = server.Keys(_db.Database, string.IsNullOrEmpty(prefix) ? null : $"{prefix}*");

            return(keys);
        }
コード例 #11
0
        /// <summary>
        /// Gets the list of cache keys
        /// </summary>
        /// <param name="endPoint">Network address</param>
        /// <param name="pattern">String key pattern</param>
        /// <returns>List of cache keys</returns>
        protected virtual IEnumerable <RedisKey> GetKeys(EndPoint endPoint, string pattern = null)
        {
            var server = _connectionWrapper.GetServer(endPoint);

            //we can use the code below (commented), but it requires administration permission - ",allowAdmin=true"
            //server.FlushDatabase();

            var keys = server.Keys(_db.Database, string.IsNullOrEmpty(pattern) ? null : $"*{pattern}*");

            //we should always persist the data protection key list
            keys = keys.Where(key => !key.ToString().Equals(NopCachingDefaults.RedisDataProtectionKey, StringComparison.OrdinalIgnoreCase));

            return(keys);
        }