using System; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Admin.Core.Common.Cache { /// /// Redis缓存 /// public class RedisCache : ICache { public long Del(params string[] key) { return RedisHelper.Del(key); } public Task DelAsync(params string[] key) { return RedisHelper.DelAsync(key); } public async Task DelByPatternAsync(string pattern) { if (pattern.IsNull()) return default; pattern = Regex.Replace(pattern, @"\{.*\}", "*"); var keys = (await RedisHelper.KeysAsync(pattern)); if(keys != null && keys.Length > 0) { return await RedisHelper.DelAsync(keys); } return default; } public bool Exists(string key) { return RedisHelper.Exists(key); } public Task ExistsAsync(string key) { return RedisHelper.ExistsAsync(key); } public string Get(string key) { return RedisHelper.Get(key); } public T Get(string key) { return RedisHelper.Get(key); } public Task GetAsync(string key) { return RedisHelper.GetAsync(key); } public Task GetAsync(string key) { return RedisHelper.GetAsync(key); } public bool Set(string key, object value) { return RedisHelper.Set(key, value); } public bool Set(string key, object value, TimeSpan expire) { return RedisHelper.Set(key, value, expire); } public Task SetAsync(string key, object value) { return RedisHelper.SetAsync(key, value); } public Task SetAsync(string key, object value, TimeSpan expire) { return RedisHelper.SetAsync(key, value, expire); } } }