如何将 SQL 数据库中的所有数据加载到 Hazelcast 云?
How to load all the data from a SQL database to Hazelcast cloud?
我正在使用 Hazelcast 云作为我的 .net 应用程序的缓存层,我想首先将数据库中的所有数据加载到缓存中。现在,我通过一次向缓存中添加一行来完成此操作,如下所示。
public async Task<bool> InitCache()
{
IEnumerable<UserV2> users = _context.UserV2s.ToList();
var absExpTime = TimeSpan.FromHours(24);
foreach (UserV2 user in users)
{
await SetRecordAsync<UserV2>(user.UserName, user, absExpTime);
}
return true;
}
是否有一种机制可以让缓存层直接监听数据库并从那里获取数据?
Hazelcast 中有两个推荐的数据填充工具:MapLoader 和 Pipelines。两者都是将数据加载到 Hazelcast 集群的服务器端服务。两者都需要一些 Java 编码。
MapLoader 在所有最新的 Hazelcast 版本中可用。它需要更多代码,因为它是较低级别的 API。您必须编写完整的代码来加载数据,服务器在适用时执行它。
管道是更高级别的,可与许多数据库的 OOTB 连接器组合API。还有一个 CDC connector for some databases that listens for database changes and updates the cache with it. Pipelines provide higher degree of fault tolerance, management and performance. It is, however, available just in Hazelcast 5.0 and beyond. With older Hazelcast, you have to use another cluster with Hazelcast Jet 引擎加载数据并终止。
在此处查看比较:https://docs.hazelcast.com/hazelcast/5.0-beta-1/ingest/overview.html
对于纯 .NET 解决方案,您必须使用 .NET 客户端和自定义数据加载器自行管理数据加载。
我正在使用 Hazelcast 云作为我的 .net 应用程序的缓存层,我想首先将数据库中的所有数据加载到缓存中。现在,我通过一次向缓存中添加一行来完成此操作,如下所示。
public async Task<bool> InitCache()
{
IEnumerable<UserV2> users = _context.UserV2s.ToList();
var absExpTime = TimeSpan.FromHours(24);
foreach (UserV2 user in users)
{
await SetRecordAsync<UserV2>(user.UserName, user, absExpTime);
}
return true;
}
是否有一种机制可以让缓存层直接监听数据库并从那里获取数据?
Hazelcast 中有两个推荐的数据填充工具:MapLoader 和 Pipelines。两者都是将数据加载到 Hazelcast 集群的服务器端服务。两者都需要一些 Java 编码。
MapLoader 在所有最新的 Hazelcast 版本中可用。它需要更多代码,因为它是较低级别的 API。您必须编写完整的代码来加载数据,服务器在适用时执行它。
管道是更高级别的,可与许多数据库的 OOTB 连接器组合API。还有一个 CDC connector for some databases that listens for database changes and updates the cache with it. Pipelines provide higher degree of fault tolerance, management and performance. It is, however, available just in Hazelcast 5.0 and beyond. With older Hazelcast, you have to use another cluster with Hazelcast Jet 引擎加载数据并终止。
在此处查看比较:https://docs.hazelcast.com/hazelcast/5.0-beta-1/ingest/overview.html
对于纯 .NET 解决方案,您必须使用 .NET 客户端和自定义数据加载器自行管理数据加载。