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; }