• Facebook
  • Twitter(现为X)
  • Youtube
  • 内衬
  • RSS
  • 文档
  • 比较
  • 博客
  • 下载
  • 联系我们
下载
显示/隐藏目录

数据过期类型和策略概述

NCache 提供多种先进的基于时间的数据失效策略,通过允许您指定数据过期的确切时间或间隔,来确保数据完整性并优化集群存储。当数据变更频率可预测时,这些策略尤其有用。例如,静态区域信息的失效频率低于快速变化的产品库存水平。通过使过期数据失效, NCache 确保客户在下次请求时始终能从数据库中获得最相关、最新的数据。

除了数据新鲜度之外,这些策略对于会话管理也至关重要,它们可以自动移除空闲或不活跃的会话,从而释放资源。当为某个项目配置了过期时间时, NCache 在专门的到期指数中对其进行追踪。

数据删除由一个专用线程处理,该线程会根据可配置的条件检查过期项。 Clean Interval (默认值为 15 秒)。物品移除的总延迟计算如下:

总时间 = 过期时间 + 清洁间隔 + 清洁活动时间

根据此公式,根据应用程序的过期时间和性能要求配置清理间隔,以在各种集群拓扑中保持高性能、新鲜的数据集。

绝对过期时间防止数据过期

您可以通过指定项目应失效的确切日期和时间,将项目添加到具有绝对过期功能的缓存中。 当这个时间过去后,该项目将从缓存中删除。 这里, NCache 在缓存服务器上维护绝对过期的 UTC 时间,这有利于客户端和缓存服务器位于不同时区的情况。 这意味着客户端指定的过期时间(在任何时区)将在缓存服务器上转换为 UTC,并且该项目将在客户端指定的确切日期和时间过期。 您可以指定过期时间,范围从秒到天或月。

但是请注意,该项会在下一个缓存清理周期到期后被移除。例如,如果您将某项的过期时间设置为 10 秒,而缓存清理周期设置为 15 秒,则该项将在大约 15-25 秒内被移除。

会话管理中的滑动过期时间

在这种缓存过期机制下,您希望缓存保留应用程序正在使用的数据,并在特定时间段后删除未使用的数据。每次用户访问具有滑动过期机制的缓存数据时,其缓存生命周期都会延长指定的过期时间。例如,如果用户至少 30 秒未访问某个具有 30 秒滑动过期机制的项目,则该项目将从缓存中移除。但是,每次访问后,该项目的过期时间都会重置为 30 秒,从而将其在缓存中的生命周期延长 30 秒。

例如,会话数据可以在会话处于活动状态期间存储在缓存中。对于此类数据,您可以指定滑动过期时间,例如 15 分钟。因此,如果在指定的时间间隔内发生活动,则缓存中会话的过期时间间隔将重置为 15 分钟。

与绝对过期类似,具有滑动过期的缓存项将在缓存清理间隔内删除。

警告

如果缓存项未设置过期时间,它将一直保留在缓存中,直到被显式删除。这可能会导致缓存存储空间过大。

另请参阅 驱逐政策这是另一个特点 NCache 控制缓存存储使用。

可配置的默认过期策略

NCache 它还支持默认过期时间,帮助您更灵活地配置数据失效策略。默认过期时间可通过以下方式配置: NCache 管理中心或 配置文件因此,如果您想修改通过 API 传递的过期值,无需更改代码。此外,如果同一个应用程序需要多个过期值,可以使用默认过期值。

NCache 提供以下默认过期时间:

  1. 默认绝对值
  2. 默认滑动
  3. 默认绝对更长
  4. 默认滑动更长

所有默认到期时间的最小值为 5 秒。

假设 Default Absolute 配置为 5 秒,Default Sliding Longer 到期配置为 10 秒。 的对象 产品 类被添加到缓存中,默认过期时间为绝对值;会话被添加到缓存中,默认过期时间为滑动延长值。对象添加后,您希望将两者的过期时间都更改为 15 秒。您无需使用新的过期时间重新插入对象,只需更改配置即可。 NCache 管理中心或 配置文件,无需任何代码更改。

通过以下方式配置过期策略有多种场景 NCache 管理中心和 API 的功能可能会重叠,并触发以下行为。请注意,非默认过期时间指的是绝对过期时间和滑动过期时间。

默认到期 API 调用过期 宠物行为研究
配置 默认到期 默认到期
配置 非默认到期 非默认到期
配置 没有 默认到期
未配置 默认到期 没有过期
未配置 非默认到期 非默认到期
未配置 没有 没有过期
重要提示

对于 CacheItem,Absolute 和 Sliding Expiration 的默认值分别为“NoAbsoluteExpiration”和“NoSlidingExpiration”。因此,如果配置了 Default Expiration 但在 API 中未配置到期时间,则 CacheItem, 由于其默认到期时间值将覆盖已配置的默认到期时间,因此不会发生到期。

集群范围的过期处理和拓扑结构

在具有多个缓存服务器的集群缓存中,过期行为取决于配置的拓扑结构。

  • 在一个 已复制 缓存过期由协调节点执行,然后同步到其他集群节点。
  • 在一个 分区的 在拓扑结构中,由于数据分布在不同的节点上,每个节点负责使其自身的数据项过期。
  • 对于 分区副本 拓扑,过期将在活动节点上执行并传播到它们各自的副本。
  • 客户端缓存 将采用与集群缓存相同的过期时间。但是,滑动过期时间在与缓存同步后会以绝对过期时间的形式添加,因为如果集群缓存中的值是滑动的,而客户端缓存中的值不是,则可能导致不一致。

参见

缓存中的绝对数据过期
滑动到期
赶出

联系我们

联系电话

+1 214-619-2601   (美国)

+44 20 7993 8327   (英国)

 
邮箱地址

sales@alachisoft.com

support@alachisoft.com

NCache
  • 版本比较
  • NCache 卓越
  • 基准
下载
定价
尝试游乐场

部署
  • 云(SaaS 和软件)
  • 内部部署
  • Kubernetes
  • Docker
技术用例
  • ASP.NET 会话
  • ASP.NET Core 会话
  • 发布/订阅消息
  • 实时 ASP.NET SignalR
  • 物联网(IOT)
  • NoSQL 数据库
  • 流处理
  • 微服务
相关资源
  • 杂志文章
  • 第三方文章
  • 专题文章
  • 视频
  • 白皮书
  • 作品
  • 会谈
  • 博客
  • 文档
客户案例研究
  • 评价
  • 客户
支持
  • 安排演示
  • 论坛(谷歌组)
  • 小技巧
关于我们
  • 领导团队
  • 合作伙伴
  • 新闻
  • 活动
  • 加入我们
联系我们

  • 英语简体中文法语版德语版意大利语版日语版韩语版葡萄牙语西班牙语

  • 联系我们
  •  
  • 网站地图
  •  
  • 使用条款
  •  
  • 隐私政策
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。
Back to top