缓存加载器/刷新器的组件
本页介绍缓存加载器/刷新器的组件以及如何配置它们以从配置的数据源加载和刷新数据。
ICacheLoader 接口
要配置缓存加载器和刷新器, 缓存加载器 需要实现接口,然后使用 NCache 管理中心 or 命令行工具. NCache 使用此自定义提供程序从配置的数据源加载和刷新数据。
重要
确保 NCache 执行服务正在运行并且防火墙已禁用。
实现该接口的类允许 NCache 将数据从主数据源加载并刷新到缓存。 因此,此类需要实现从数据源加载所需数据的逻辑。 实现 Loader 和 Refresher 的类需要定义以下方法:
委员 | Type | 课程描述 |
---|---|---|
Init |
void |
此方法由 NCache 启动时并采用 IDictionary/参数映射作为输入,可以在配置缓存加载器/刷新器时传递这些参数。 通过输入参数,您可以为部署的提供程序指定运行时参数,例如连接字符串等。 |
LoadDatasetOnStartup |
object |
LoadDatasetOnStartup 包含从主数据源加载数据并返回对象的逻辑。 此方法采用一个字符串数据集,其中包含要加载到缓存中的数据。 |
RefreshDataset |
object |
RefreshDataset 包含刷新已加载到缓存中的数据的逻辑。 该方法采用 UserContext 由...返回 LoadDatasetOnStartup 了解需要刷新哪些数据。 调用时,此方法根据数据从数据源获取新数据 UserContext 它收到。 |
GetDatasetToRefresh |
Dictionary |
GetDatasetToRefresh 需要 UserContext 并迭代它来分配 RefreshPreference 到每个数据集。 它返回一个包含数据集的字典,以使用其各自的刷新 RefreshPreference . |
Dispose |
void |
Dispose 方法通过处置 Loader/Refresher 来释放资源。 |
缓存加载器标签
NCache 将配置的数据集添加到 <cache-loader>
标记为 配置文件,然后在客户端应用程序中获取。
备注
这些数据集是通过指定 NCache 管理中心的解释见 配置缓存启动加载器.
<cache-loader retries="0" retry-interval="0" enabled="True" refresh-on-event="False" refresh-interval="900">
<provider assembly-name="Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" class-name="Loader.Loader" full-name="Loader.dll"/>
<parameters name="connString" value="abc"/>
<datasets>
<dataset name="products" schedule-expression="0:1,5:12:00" schedule-option="Weekly"/>
<dataset name="orders" schedule-expression="0:00:00:20" schedule-option="DailyInterval"/>
<dataset name="customers" schedule-expression="0:00:00:00" schedule-option="DailyTime"/>
<dataset name="stock" schedule-expression="0:1,15,L:10:00" schedule-option="Monthly"/>
<dataset name="discount" schedule-expression="1,L:5,6:09:52" schedule-option="Monthly"/>
<dataset name="sale" schedule-expression="" schedule-option=""/>
</datasets>
</cache-loader>
查看房源 | 课程描述 | 格式 |
---|---|---|
retries |
在执行下一个操作之前执行任何失败操作的重试次数。 默认值为 0 秒。 | - |
retry-interval |
每次重试执行失败操作之间的时间间隔。 默认值为 0 秒。 | - |
enabled |
确定是否启用刷新程序。 默认值为 False。 | True/False |
refresh-on-event |
确定是否启用/禁用基于轮询的刷新。 默认值为 False。 | True/False |
refresh-interval |
调用刷新线程来获取要刷新的数据的时间间隔。 默认值为 900 秒。 | - |
assembly-name |
已部署的缓存加载器程序集的人类可理解的名称。 本质上,它指的是 。dll文件 or 罐 用户在其中标识其类库的文件。 | - |
class-name |
实现类的名称 ICacheLoader 界面。 |
- |
full-name |
要部署的程序集的名称。 | - |
name |
下 parameters 是添加的参数的名称。 |
- |
value |
下 parameters 是添加参数的值。 |
- |
name |
下 dataset 是添加的数据集的名称。 这是一个独一无二的 string . |
- |
schedule-expression |
刷新数据集的计划表达式。 该表达式可以是几分钟、几小时、几天、几周或几个月。 |
DailyInterval : 0:00:00:mm 针对 DailyTime : 0:00:hh:mm 针对 Weekly : 0:day(s):hh:mm:ss 针对 Monthly : week(s):day(s):hh:mm |
schedule-option |
刷新已添加数据集的计划选项。 | DailyInterval / DailyTime / Weekly /Monthly |
参见
.NET: Alachisoft.NCache。运行 命名空间。
Java的: COM。alachisoft.ncache.runtime.cacheloader 命名空间。