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

本文关键字:什么 缓存 | 更新日期: 2023-09-27 17:55:58

我对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);
    }

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

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

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

MSDN 中的更多信息

请注意:

应用程序缓存中的项存储在键/值对中。钥匙 依赖项允许一个项目依赖于另一个项目的键 在应用程序缓存中。删除原始项目时,该项目 具有密钥依赖项的也会被删除。例如,您可以 添加一个名为 ReportsValid 的缓存项,然后缓存多个报表 依赖于报告有效键。当"报告有效"项时 删除,所有依赖缓存报表也同样删除 从缓存中。

另外,值得一看的是:ASP.NET 缓存的模式和最佳实践是什么?