缓存的读通/写通和后写
缓存的主要目的是缓存数据以实现最大性能。 使用缓存时,客户端应用程序可能需要对数据源执行操作。 以此目的, NCache 通过 Read-Through 和 Write-Through/Write-Behind 缓存支持对数据源的透明读/写操作。使用此功能,客户端应用程序可以根据需要通过缓存读取数据或将数据写入数据源。
如果您的提供程序代码基于 .NET,它将在运行缓存的同一进程中执行。但是,对于基于 Java 的提供程序来说, NCache 执行服务将负责代码的执行。
Read-Through 和 Write-Through 缓存在以下情况下为用户提供便利:
- 用户需要从数据源获取数据,以防缓存存储中不存在数据(读取)。
- 用户更新缓存存储后需要同步更新数据源中的数据(Write-Through)。
- 用户在更新缓存存储后需要异步更新数据源中的数据(Write-Behind)。
在中使用此功能 NCache 具有以下优点:
- NCache 为Read-Through和Write-Through缓存提供可插拔架构,因此客户端应用程序代码不需要包含数据源逻辑。
- 数据源可能随时发生变化,因此这种可插拔架构可以配置不同的数据源,同时保持应用程序代码完整。
- 您的应用程序只需要与 NCache 和 NCache 将负责与数据源的任何后端通信。
要使用 Read-Through 或 Write-Through 缓存, IReadThruProvider
或者 IWriteThruProvider
需要实现接口。 运行时参数也可以提供给 Read-Through/Write-Through 提供程序,同时通过
NCache 管理中心 or 命令行工具。 这些参数将在初始化时传递给 Read-Through/Write-Through 提供程序。 这些初始化参数可以通过多种方式使用,例如,可以将数据源的连接字符串指定为参数,从而无需将其硬编码到提供程序代码中。
In NCache,Read-Through/Write-Through 提供程序通过名称进行配置,并且可以通过提供程序名称来使用特定于提供程序的 API。 如果有多个提供程序,则默认配置其中一个提供程序。 如果未通过 API 明确提及提供程序名称,则将调用此默认提供程序。 可以通过利用给定 API 的特定于提供者的重载来使用默认提供者以外的提供者。
在本节中
直读缓存
解释如何从数据源中读取数据 NCache.
直写缓存
解释如何将数据写入数据源 NCache.