NCache 分布式缓存功能

关系管理的缓存依赖

NCache 具有缓存依赖性功能,可让您管理具有数据元素之间的一对一、一对多和多对多关系的关系数据。 Cache Dependency 允许您在分布式缓存中保持数据完整性。

Cache Dependency 允许您指定一个缓存项依赖于另一个缓存项。 然后,如果任何应用程序更新或删除了第二个缓存项,则依赖于它的第一个项会自动从缓存中删除 NCache. Cache Dependency 还允许您指定多级依赖项。

阅读更多关于 缓存依赖项。

缓存依赖

数据库同步

NCache 提供自动将缓存与数据库同步的功能。 这可确保缓存中的数据始终是最新的,并且您不会遇到数据完整性问题。 您可以根据数据库服务器发出的事件通知或通过轮询来配置数据库同步。

基于事件的同步是即时和实时的,但如果您非常频繁地更新数据库中的数据,可能会变得很麻烦。

轮询实际上效率更高,因为一次提取 NCache 可以同步数百甚至数千行。 但是,轮询不是即时的,通常会有几秒钟的延迟。 然而,轮询间隔是可配置的。

阅读更多关于 数据库同步。

数据库同步

类似 SQL 的并行查询、LINQ 和标签

NCache 为您提供多种方式来搜索分布式缓存中的对象,而不仅仅是依赖键。 这包括类似 SQL 的并行查询语言、标签和组/子组。

类似 SQL 的并行查询语言允许您基于对象属性而不是键来搜索缓存。 并且,此查询被分发到所有缓存服务器以并行运行,然后合并并返回结果。 这允许您发出类似“查找客户所在城市为旧金山的所有客户对象”的查询。 在 .NET 应用程序中,您还可以使用 LINQ 搜索分布式缓存,包括 lambda 表达式。

  public class Program
  {
      public static void Main(string[] args)
      {
          NCache.InitializeCache("myReplicatedCache");
          String query = "SELECT NCacheQuerySample.Business.Product WHERE this.ProductID > 100";
          // Fetch the keys matching this search criteria
          ICollection keys = NCache.Cache.Search(query);
          if (keys.Count > 0)
          {
              IEnumerator ie = keys.GetEnumerator();
              while (ie.MoveNext())
              {
                  String key = (String)ie.Current;
                  Product prod = (Product)NCache.Cache.Get(key);

                  HandleProduct(prod);
                  Console.WriteLine("ProductID: {0}", prod.ProductID);
              }
          }
          NCache.Cache.Dispose();
      }
  } 

标签和组/子组

标签和组/子组提供了对缓存项进行分组的各种方式。 标签提供了多对多的分组,其中一个标签可以包含多个缓存项,一个缓存项可以属于多个标签。 而 Group/sub-group 是对缓存项进行分组的分层方式。 您也可以从类似 SQL 的查询语言中搜索标签。

阅读更多关于 查询分布式缓存的不同方法。

直读、直写和自动刷新

通过将一些数据访问代码推送到分布式缓存集群来简化和扩展您的应用程序。 NCache 提供了 Read-through 和 Write-through 机制,使缓存能够直接读取和写入数据到您的数据源和数据库。

你实施 IReadThruProvider IWriteThruProvider 接口,然后将您的代码注册到缓存集群。 您的代码被复制到所有缓存服务器并在何时调用 NCache 需要访问您的数据源和数据库。

您可以将通读与过期和数据库同步结合起来以启用 NCache 进行自动刷新并在需要时自动重新加载数据的新副本。

我们 通读和通写 了解详情。

通过消息传递运行时数据共享

NCache 提供了一个功能强大的运行时数据共享和消息传递平台,该平台非常快速、可扩展和实时。

NCache 允许借助事件通知进行实时数据共享。 应用程序可以使用三种类型的事件来相互协作。

首先是缓存项,基于应用程序注册对某些缓存项的兴趣,并在它们被更新或删除时得到通知。

其次是应用程序生成的事件,允许您的应用程序使用 NCache 作为事件传播平台并将自定义事件触发到 NCache 簇。 NCache 然后将这些事件路由到对这些自定义事件表现出兴趣的其他客户端应用程序。

最后, NCache 允许在添加、更新或删除任何内容时单独通知您。

阅读更多关于 运行时数据共享。

紧凑序列化

NCache 提供了一种称为“紧凑序列化”的极快对象序列化机制,无需更改代码即可使用。

这种序列化速度更快,因为它在运行时不使用任何反射。 并且序列化对象比常规序列化更紧凑,因为不是存储基于字符串的长类型名称, NCache 注册所有类型并且只存储类型ID。

而且,最重要的是,它不需要您更改代码,因为 NCache 在运行时生成序列化代码并一遍又一遍地使用它。 最终结果是应用程序性能显着提升。

接下来做什么?

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。