繁体   English   中英

这个界面怎么用?

[英]How to use this interface?

我找到了这个界面,我想使用它。 但我不明白如何使用 Create function ...

namespace Microsoft.Extensions.Caching.Memory
{
    public interface IMemoryCache : IDisposable
    {
        ICacheEntry CreateEntry(object key);
        void Remove(object key);
        bool TryGetValue(object key, out object value);
    }
}

当 function 调用中只有键而不是值时,如何在 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();

我能以某种方式获得价值吗?

CreateEntry方法返回ICacheEntry实例有一个Value属性,您可以将其设置为要缓存的值,以及可以用来控制缓存的其他几个属性。

IMemoryCache接口还有几个扩展方法,它们提供了在缓存中设置项目的简写方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM