C#中如何使用MemoryCache
时间: 2024-04-24 08:23:22 浏览: 146
C# Cache使用
4星 · 用户满意度95%
在C#中,可以使用`MemoryCache`类来实现内存缓存。下面是一个简单的示例代码,演示了如何使用`MemoryCache`:
```csharp
using System;
using System.Runtime.Caching;
class Program
{
static void Main()
{
// 创建一个新的MemoryCache实例
MemoryCache cache = MemoryCache.Default;
// 添加一个缓存项
string key = "myKey";
string value = "myValue";
CacheItem cacheItem = new CacheItem(key, value);
CacheItemPolicy policy = new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(10) };
cache.Add(cacheItem, policy);
// 从缓存中获取值
object cachedValue = cache.Get(key);
if (cachedValue != null)
{
Console.WriteLine("Cached Value: " + (string)cachedValue);
}
// 从缓存中移除值
cache.Remove(key);
// 确保缓存项已被移除
cachedValue = cache.Get(key);
if (cachedValue == null)
{
Console.WriteLine("Cached Value has been removed.");
}
}
}
```
在上面的示例中,我们首先创建了一个`MemoryCache`实例。然后,我们使用`Add`方法向缓存中添加一个缓存项。缓存项由键值对表示,使用`CacheItem`类进行封装。我们还可以设置缓存项的过期策略,这里我们使用了`CacheItemPolicy`类,并将其设置为10分钟的滑动过期时间。
接下来,我们使用`Get`方法从缓存中获取已缓存的值,并使用`Remove`方法从缓存中移除一个缓存项。
请注意,在实际应用程序中,你可能需要根据具体需求调整缓存策略,例如设置绝对过期时间、回调函数等。此外,你还可以使用`MemoryCache`的其他方法和属性来管理和操作缓存项。
阅读全文