当您创建缓存时,您还 分配它的大小 (取决于您机器上的可用内存)。 但是,这个分配的大小有可能在某个时间点变满。 发生这种情况时,您将无法对此缓存执行任何写入操作,但您仍然可以执行读取操作。
为了解决这个问题, NCache 允许您在缓存集群上启用驱逐。 此功能会根据三种可用算法自动从缓存集群中删除数据(本技巧稍后会解释)。 但是,您不应该在以下情况下启用驱逐:
在这些情况下,最好的选择是增加缓存的大小,而不是逐出,这可以在运行时完成,并且您还可以在缓存变满时收到通知。 有两种方法可以为您的缓存集群启用逐出,如下所述:
您可以在创建缓存时使用 NCache 网络管理员。 只需按照以下步骤操作:
您还可以为已使用创建的缓存启用逐出 NCache 网络管理员. 确保您的缓存已停止。 要为已创建的缓存启用驱逐,只需按照以下步骤操作:
NCache 提供三个 驱逐政策 供您选择。 它们解释如下:
此驱逐策略在缓存对象上放置时间戳。 每次访问对象时都会更新时间戳。 驱逐时,选择具有最旧时间戳的对象。 在两个对象具有相同时间戳的情况下,将在两者之间进行随机选择。 默认情况下,项目在最近最少使用的基础上被驱逐。
此策略使用一个计数器来计算对象被访问的次数。 在驱逐时,访问次数最少的对象将首先被驱逐。 在此策略中,也会在具有相同计数值的两个对象之间进行随机选择。
此驱逐策略具有类似于 LFU 驱逐策略的驱逐机制,但增加了与对象关联的优先级。 对象的优先级由您在缓存该对象时确定。 优先级低的对象先被删除,优先级高的对象稍后被删除。 在此驱逐政策中,您可以从以下驱逐优先级中进行选择:
请注意: 未选择优先级时,默认使用普通优先级。