我找到了这个界面,我想使用它。但我不明白如何使用创建功能......
namespace Microsoft.Extensions.Caching.Memory
{
public interface IMemoryCache : IDisposable
{
ICacheEntry CreateEntry(object key);
void Remove(object key);
bool TryGetValue(object key, out object value);
}
}
Run Code Online (Sandbox Code Playgroud)
当函数调用中只有键没有值时,如何在 CreateEntry 中存储内容?如何在钥匙中存储一些东西?
所以我有这个:
class RedisObjectTestCache : IMemoryCache
{
public ICacheEntry CreateEntry(object key)
{
Console.WriteLine("Created key: " + key);
return new CacheEntryTest() { };
}
public void Dispose()
{
Console.WriteLine("Dispose");
return;
}
public void Remove(object key)
{
Console.WriteLine("Removed key: " + key);
return;
}
public bool TryGetValue(object key, out object value)
{
Console.WriteLine("Requested key: " + key);
value = "";
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我用框架调用它:
QueryCacheManager.Cache = new RedisObjectTestCache();
Run Code Online (Sandbox Code Playgroud)
我能以某种方式获得价值吗?
从该ICacheEntry方法返回的实例CreateEntry有一个Value属性,您可以将其设置为要缓存的值,以及可用于控制缓存的其他几个属性。
该IMemoryCache接口还有多种扩展方法,它们提供了在缓存中设置项目的快捷方式。
| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |