C#:谈论缓存时的关键是什么

时间:2016-07-07 05:52:01

标签: c# caching key

我对c sharp没有太多经验。我被分配实现缓存功能。我正在查看一些代码,我不知道“key”和“dependsOnKey”指的是什么。

        public void Add(string key, object o, DateTimeOffset expiration, string dependsOnKey = null)
    {
        var cachePolicy = new CacheItemPolicy
        {
            AbsoluteExpiration = expiration
        };

        if (!string.IsNullOrWhiteSpace(dependsOnKey))
        {
            cachePolicy.ChangeMonitors.Add(
                Cache.CreateCacheEntryChangeMonitor(new[] { dependsOnKey })
            );
        }
        lock (Cache)
        {
            Cache.Add(key, o, cachePolicy);
        }
    }

    public void Add(string key, object o, string dependsOnKey = null)
    {
        DateTimeOffset dt = DateTimeOffset.Now.AddMinutes(20);

        Add(key, o, dt, dependsOnKey);
    }

在缓存的上下文中,关键是什么意思?我明白缓存的概念是什么。我查了一些教程,但大多数都有不同的缓存实现。

1 个答案:

答案 0 :(得分:1)

简单地说,它是一个字符串标识符,而不是你可以在其他地方读取相同的数据:Cache.Get Method (String key)

MSDN

中的更多内容

请注意:

  

应用程序缓存中的项目存储在键/值对中。键   依赖性允许项目依赖于另一个项目的键   在应用程序缓存中。删除原始项目时,该项目   具有密钥依赖性的也被删除。例如,你可以   添加名为ReportsValid的缓存项,然后缓存多个报告   这取决于ReportsValid键。当ReportsValid项目时   如果删除,则会删除所有相关的缓存报告   来自缓存。

此外,值得一看:What Are the Patterns and Best Practices for Caching in ASP.NET?