如何全面掌握MemoryCache的原理与应用?

2026-04-27 17:230阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1085个文字,预计阅读时间需要5分钟。

如何全面掌握MemoryCache的原理与应用?

最近有一个需求,需要定期清理服务器上所有缓存。目前的方法很简单,通过调用+MemoryCache.Clear+方法就可以完成。但谁知道,+MemoryCache+类以及+IMemoryCache+扩展方法都没有+Clear+方法。这有点麻烦了。

最近有个需求需要定时清理服务器上所有的缓存。本来以为很简单的调用一下 MemoryCache.Clear 方法就完事了。谁知道 MemoryCache 类以及 IMemoryCache 扩展方法都没有 Clear 方法。这可给难住了,于是想找到所有的 Keys 来一个个 Remove ,谁知道居然也没有获取所有 Key 的方法。于是研究了一下 ,找到一些方法,下面介绍两个方法:

自定义 CacheWrapper 包装类

MemoryCache 构造 Entry 的时候支持传入 CancellationChangeToken 对象,当 CancellationChangeToken.Cancel 触发的时候会自动使该对象过期。那么我们只要对 MemoryCache 类包装一下很容易实现一个自己的 Cache 类。

阅读全文

本文共计1085个文字,预计阅读时间需要5分钟。

如何全面掌握MemoryCache的原理与应用?

最近有一个需求,需要定期清理服务器上所有缓存。目前的方法很简单,通过调用+MemoryCache.Clear+方法就可以完成。但谁知道,+MemoryCache+类以及+IMemoryCache+扩展方法都没有+Clear+方法。这有点麻烦了。

最近有个需求需要定时清理服务器上所有的缓存。本来以为很简单的调用一下 MemoryCache.Clear 方法就完事了。谁知道 MemoryCache 类以及 IMemoryCache 扩展方法都没有 Clear 方法。这可给难住了,于是想找到所有的 Keys 来一个个 Remove ,谁知道居然也没有获取所有 Key 的方法。于是研究了一下 ,找到一些方法,下面介绍两个方法:

自定义 CacheWrapper 包装类

MemoryCache 构造 Entry 的时候支持传入 CancellationChangeToken 对象,当 CancellationChangeToken.Cancel 触发的时候会自动使该对象过期。那么我们只要对 MemoryCache 类包装一下很容易实现一个自己的 Cache 类。

阅读全文