C#: what are keys when talking about cache
<p>I don't have a lot of experience with c sharp. I was assigned to implement a cacheing feature. I am looking over some of the code and I have no idea what "key" and "dependsOnKey" is referring to.</p>

<pre><code>        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);
    }
</code></pre>

<p>In the context of cache, what does key mean? I understand what the concept of caching. I looked up some tutorials but most have different implementation of caching.</p>