【发布时间】:2021-12-10 10:46:04
【问题描述】:
我找到了这个界面,我想使用它。但我不明白如何使用 Create 功能...
namespace Microsoft.Extensions.Caching.Memory
{
public interface IMemoryCache : IDisposable
{
ICacheEntry CreateEntry(object key);
void Remove(object key);
bool TryGetValue(object key, out object value);
}
}
当函数调用中只有键而不是值时,如何在 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;
}
}
然后我用框架调用它:
QueryCacheManager.Cache = new RedisObjectTestCache();
我能以某种方式获得价值吗?
【问题讨论】:
-
不看文档,我猜
ICacheEntry可以让您访问该条目的内容。 -
文档中指定了一些extension methods,看来您可以使用Set 扩展方法