【发布时间】:2011-09-23 01:11:09
【问题描述】:
Cache.Add() 和 Cache.Insert() 方法有什么区别?
我应该在哪些情况下使用它们?
【问题讨论】:
Cache.Add() 和 Cache.Insert() 方法有什么区别?
我应该在哪些情况下使用它们?
【问题讨论】:
Insert 将使用相同的 Key 覆盖现有的缓存值;如果存在具有相同键的现有缓存值,Add 将失败(不执行任何操作)。所以有一种情况说你应该总是使用 Insert 因为代码第一次运行它会将你的对象放入缓存中,当它随后运行时它会更新缓存的值。
【讨论】:
Cache.Add() 在添加后还会从Cache 返回一个缓存对象:
string cachedItem = Cache.Add("cachedItem", ....);
【讨论】:
您可以使用Cache.Add() 或Cache.Insert() 方法来缓存您的数据。两者之间的唯一区别是,Cache.Add() 方法返回要缓存的对象。
因此,假设您要使用该对象并将其缓存。在Cache.Add() 的帮助下,您可以在一行代码中完成。
Cache.Insert() 方法有 4 种不同类型的重载方法,而 Cache.Add() 只有一种。
【讨论】:
Add 方法并且缓存中已经存在同名的项目,则该方法不会替换该项目并且不会引发异常。