1.2. 設定およびリモートキャッシュマネージャー API
ConfigurationBuilder
API を使用して、Hot Rod .NET/C# クライアント接続と RemoteCacheManager
API を設定してリモートキャッシュを取得および設定します。
基本設定
using Infinispan.HotRod; using Infinispan.HotRod.Config; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace simpleapp { class Program { static void Main(string[] args) { ConfigurationBuilder builder = new ConfigurationBuilder(); // Connect to a server at localhost with the default port. builder.AddServer() .Host(args.Length > 1 ? args[0] : "127.0.0.1") .Port(args.Length > 2 ? int.Parse(args[1]) : 11222); Configuration config = builder.Build(); // Create and start a RemoteCacheManager to interact with caches. RemoteCacheManager remoteManager = new RemoteCacheManager(conf); remoteManager.Start(); IRemoteCache<string,string> cache=remoteManager.GetCache<string, string>(); cache.Put("key", "value"); Console.WriteLine("key = {0}", cache.Get("key")); remoteManager.Stop(); } } }
認証
ConfigurationBuilder builder = new ConfigurationBuilder(); // Add a server with specific connection timeouts builder.AddServer().Host("127.0.0.1").Port(11222).ConnectionTimeout(90000).SocketTimeout(900); // ConfigurationBuilder has fluent interface, options can be appended in chain. // Enabling authentication with server name "node0", // sasl mech "PLAIN", user "supervisor", password "aPassword", security realm "aRealm" builder.Security().Authentication().Enable().ServerFQDN("node0") .SaslMechanism("PLAIN").SetupCallback("supervisor", "aPassword", "aRealm"); Configuration c = conf.Build();
暗号化
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddServer().Host("127.0.0.1").Port(11222); // Get configuration builder for encryption SslConfigurationBuilder sslBuilder = conf.Ssl(); // Enable encryption and provide client certificate sslBuilder.Enable().ClientCertificateFile("clientCertFilename"); // Provide server cert if server needs to be verified sslBuilder.ServerCAFile("serverCertFilename"); Configuration c = conf.Build();
クロスサイトフェイルオーバー
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddServer().Host("127.0.0.1").Port(11222); // Configure a remote cluster and node when using cross-site failover. builder.AddCluster("nyc").AddClusterNode("192.0.2.0", 11322);
ニアキャッシュ
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddServer().Host("127.0.0.1").Port(11222); // Enable near-caching for the client. builder.NearCache().Mode(NearCacheMode.INVALIDATED).MaxEntries(10);