MemoryCache.Set 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将缓存项插入缓存。
重载
| 名称 | 说明 |
|---|---|
| Set(CacheItem, CacheItemPolicy) |
通过使用 CacheItem 实例提供缓存项的键和值,将缓存项插入缓存项。 |
| Set(String, Object, DateTimeOffset, String) |
使用键和值将缓存项插入缓存中,并指定基于时间的过期详细信息。 |
| Set(String, Object, CacheItemPolicy, String) |
使用键和值和逐出将缓存项插入缓存中。 |
注解
如果指定的条目不存在,则会创建它。 如果指定的条目存在,则会更新它。
Set(CacheItem, CacheItemPolicy)
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
通过使用 CacheItem 实例提供缓存项的键和值,将缓存项插入缓存项。
public:
override void Set(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override void Set(System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.Set : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> unit
Public Overrides Sub Set (item As CacheItem, policy As CacheItemPolicy)
参数
- item
- CacheItem
一个对象,表示要插入的缓存项。
- policy
- CacheItemPolicy
一个对象,其中包含缓存项的逐出详细信息。 此对象提供的逐出选项比简单的绝对到期时间更多。
例外
传递了缓存项的参数无效组合。 如果在缓存项的策略对象上设置了以下过期详细信息,则会出现这种情况:
如果对象的绝对和滑动过期值CacheItemPolicy都设置为默认值InfiniteAbsoluteExpirationNoSlidingExpiration和字段以外的值。 该 MemoryCache 类不能基于绝对过期和滑动过期设置过期策略。 使用 MemoryCache 类时,只能显式设置一个过期设置。 其他设置必须设置为 InfiniteAbsoluteExpiration 或 NoSlidingExpiration 属性。
如果同时为 CacheItemPolicy 对象指定了删除回调和更新回调。 该 MemoryCache 类仅支持为每个缓存条目使用一种类型的回调。
该 SlidingExpiration 属性设置为小于 Zero的值。
-或-
该 SlidingExpiration 属性设置为大于一年的值。
-或-
不是 Priority 枚举的值 CacheItemPriority 。
注解
Set与其他方法重载一样,Set该方法始终将缓存值放在缓存中,而不管条目是否已存在具有相同键的条目。 如果缓存中不存在指定的项,则插入新的缓存项。 如果指定的条目已存在,则会更新其值。
适用于
Set(String, Object, DateTimeOffset, String)
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
使用键和值将缓存项插入缓存中,并指定基于时间的过期详细信息。
public override void Set(string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.Set : string * obj * DateTimeOffset * string -> unit
Public Overrides Sub Set (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing)
参数
- key
- String
要插入的缓存项的唯一标识符。
- value
- Object
缓存项的数据。
- absoluteExpiration
- DateTimeOffset
缓存项过期的固定日期和时间。
- regionName
- String
缓存中可向其添加缓存项的命名区域。 不要传递此参数的值。
null此参数默认为,因为MemoryCache该类不实现区域。
例外
regionName 不是 null。
传递了缓存项的参数无效组合。 如果在缓存项的策略对象上设置了以下过期详细信息,则会出现这种情况:
如果对象的绝对值和滑动过期值CacheItemPolicy都设置为默认值InfiniteAbsoluteExpirationNoSlidingExpiration和默认值以外的值。 之所以发生这种情况, MemoryCache 是因为该类不支持基于绝对和滑动过期的过期项。 使用 MemoryCache 类时,只能显式设置一个过期设置。 另一个设置必须设置为 InfiniteAbsoluteExpiration 或 NoSlidingExpiration。
如果在对象上 CacheItemPolicy 同时指定了删除回调和更新回调。 该 MemoryCache 类仅支持为每个缓存条目使用一种类型的回调。
该 SlidingExpiration 属性设置为小于 Zero的值。
-或-
该 SlidingExpiration 属性设置为大于一年的值。
-或-
- 该 Priority 属性不是枚举的值 CacheItemPriority 。
注解
Set与其他方法重载一样,Set该方法始终将缓存值放在缓存中,而不考虑条目是否已存在具有相同键。 如果指定的项不存在,则插入新的缓存项。 如果指定的条目存在,则会更新它。
该 absoluteExpiration 参数指示何时应从缓存中删除条目。
删除条目会触发任何关联的更改监视器。 如果已删除的项与 CacheItemUpdateCallback 对象或 CacheItemRemovedCallback 对象相关联,则传递给回调的删除原因包含在属性中 Removed 。
适用于
Set(String, Object, CacheItemPolicy, String)
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
使用键和值和逐出将缓存项插入缓存中。
public override void Set(string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.Set : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> unit
Public Overrides Sub Set (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing)
参数
- key
- String
要插入的缓存项的唯一标识符。
- value
- Object
缓存项的数据。
- policy
- CacheItemPolicy
一个对象,其中包含缓存项的逐出详细信息。 此对象提供的逐出选项比简单的绝对到期时间更多。
- regionName
- String
缓存中可向其添加缓存项的命名区域。 不要传递此参数的值。
null此参数默认为,因为MemoryCache该类不实现区域。
例外
缓存项的参数组合无效。 如果在缓存项的策略对象上设置了以下过期详细信息,则会出现这种情况:
如果对象的绝对值和滑动过期值CacheItemPolicy都设置为默认值InfiniteAbsoluteExpirationNoSlidingExpiration和默认值以外的值。 这是因为该 MemoryCache 类不支持基于绝对过期和滑动过期的过期条目。 使用 MemoryCache 类时,只能显式设置一个过期设置。 另一个设置必须设置为 InfiniteAbsoluteExpiration 或 NoSlidingExpiration。
如果在类上 CacheItemPolicy 同时指定了删除回调和更新回调。 该 MemoryCache 类仅支持为每个缓存条目使用一种类型的回调。
该 SlidingExpiration 属性设置为小于 Zero的值。
-或-
该 SlidingExpiration 属性设置为大于一年的值。
-或-
该 Priority 属性不是枚举的值 CacheItemPriority 。
regionName 不是 null。
注解
Set与其他方法重载一样,无论匹配项是否已存在,该方法Set始终将缓存值放在缓存中。 如果缓存中不存在指定的项,则插入新的缓存项。 如果指定的条目存在,则会更新它。
删除条目会触发任何关联的更改监视器。 如果已删除的项与 CacheItemUpdateCallback 对象或 CacheItemRemovedCallback 对象相关联,则传递给回调的删除原因包含在属性中 Removed 。