我对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);
}
在缓存的上下文中,关键是什么意思?我明白缓存的概念是什么。我查了一些教程,但大多数都有不同的缓存实现。
答案 0 :(得分:1)
简单地说,它是一个字符串标识符,而不是你可以在其他地方读取相同的数据:Cache.Get Method (String key)
请注意:
应用程序缓存中的项目存储在键/值对中。键 依赖性允许项目依赖于另一个项目的键 在应用程序缓存中。删除原始项目时,该项目 具有密钥依赖性的也被删除。例如,你可以 添加名为ReportsValid的缓存项,然后缓存多个报告 这取决于ReportsValid键。当ReportsValid项目时 如果删除,则会删除所有相关的缓存报告 来自缓存。
此外,值得一看:What Are the Patterns and Best Practices for Caching in ASP.NET?