1.MemoryCache 的创建与清除
//创建
_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;
}