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);