我有一个场景,我们需要请求4年的数据。我已经成功地将企业库与内存缓存挂钩。
问题是请求4年数据并在本地存储需要很长时间。另一种方法是根据需要请求1年的数据和随后的3年,并在本地缓存上添加。
有人可以帮助我如何在现有缓存数据上添加数据,以及如何更新缓存的密钥?
答案 0 :(得分:2)
Enterprise Library不会也无法知道如何将数据附加到您的对象。为此,您需要从缓存中获取对象,将新数据添加到对象,并使用相同的密钥将对象添加回缓存。现有的缓存对象将替换为新的缓存对象。它看起来像下面的代码。
string key = "key";
// get the existing cached data
var list = (List<object>) cacheManager.GetData(key);
// if there was no existing data, list will be null, so initialize it
if (list == null)
list = new List<object>();
// add the new data
list.Add(new object());
// add the data back to the cache
cacheManager.Add(key, list);