zoukankan      html  css  js  c++  java
  • NCache实现Oracle数据与分布式缓存数据同步的3个步骤

    多层次结构的应用程序是目前发展的趋势,这种程序都需要庞大的数据库支持。而数据传输的能力直接影响程序性能,成为程序可扩展性的瓶颈。因此很多开发者开始在程序中使用内存分布式缓存来提高程序性能。

    同时,内存分布式缓存也带来了问题,那就是数据在缓存中如何保证与数据库同步。如果程序使用Oracle数据库,那么NCache会帮你解决难题!NCache提供OracleCacheDependency(数据库缓存依赖项),通过字符串连接数据库发现被注册的变化项。从而通过Oracle的数据库里的通知功能,更新相应的缓存。那么NCache是如何帮助程序实现的呢?

    简单的说,你只需开启Oracle数据库的通知功能,然后添加NCache项目中的OracleCacheDependency到应用程序。总的分三个步骤完成:

    首先启动Oracle数据库的通知功能,执行代码如下:

    1
    2
    [SQL]
    "grant change notification to scott"

    再次在你的程序中添加需要引用的NCache配置:

    1
    2
    3
    using Alachisoft.NCache.Web.Caching;
    using Alachisoft.NCache.Runtime.Dependencies;
    using Alachisoft.NCache.Runtime;

    最后初始化缓存,然后创建OracleCacheDependency并添加到项目中:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Cache _cache = NCache.InitializeCache("oracleDependencyCache");
    _cache.Clear();
     
    String connectionString ="User Id=scott;Password=test;Data Source=oracle";
    String query ="SELECT CustomerID FROM Customers WHERE CustomerID = 006";
     
    CacheDependency orclSync =new OracleCacheDependency(connectionString, query);
     
    _cache.Insert("Customer:006","myValue", orclSync,Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal);

    当你使用OracleCacheDependency添加一个缓存项目时,将被注册数据库。同时如果有任何触发缓存依赖的变化,缓存将删除以前数据,并重新加载更新的缓存数据。

    你可以现在就下载试用NCache,当然初学者可以先了解下Oracle数据库的通知功能。

  • 相关阅读:
    设置zookeeper开机自启动
    安装zookeeper
    Elasticsearch 5.6.5 安装head插件
    [redis] Node is not empty. Either the node already knows other nodes
    【redis】 redis 创建集群时,Waiting for the cluster to join.... 一直等待
    [redis] redis.clients.jedis.exceptions.JedisDataException: MOVED 13102 127.0.0.1
    [linux] FastDFS访问文件,400 Bad Request
    [linux] Nginx编译安装错误error: the HTTP rewrite module requires the PCRE library
    [java] java解析txt文件
    【java】 java 解压tar.gz读取内容
  • 原文地址:https://www.cnblogs.com/xinyu9/p/3326370.html
Copyright © 2011-2022 走看看