1.MemoryCache 的建立與清除redis
//建立 _cache =new MemoryCache(Options.Create(new MemoryCacheOptions())) /// <summary> /// 清空緩存 /// </summary> /// <returns></returns> public bool Clear() { const BindingFlags flags = BindingFlags.Instance | BindingFlags.NonPublic; var entries = _cache.GetType().GetField("_entries", flags).GetValue(_cache); var cacheItems = entries as IDictionary; var keys = new List<string>(); cacheItems.Clear(); return true; }
2.RedisCache redis 相關服務的安裝網上不少,本身搜索便可 使用redis須要引用Microsoft.Extensions.Caching.Redis.Core 包 緩存
//建立 _database = 0; _connection = ConnectionMultiplexer.Connect("127.0.01");//服務地址 _cache = _connection.GetDatabase(_database); _dbinstance = "Redis_Instance";//key前綴 //刪除 public bool Clear() { var keys = new List<string>(); //遍歷集羣內服務器 foreach (var endPoint in _connection.GetEndPoints()) { //獲取指定服務器 var server = _connection.GetServer(endPoint); //在指定服務器上使用 keys 或者 scan 命令來遍歷key foreach (var key in server.Keys(_database)) { //獲取key對於的值 _cache.KeyDelete(key); } } // this.RemoveAll(keys); return true; }