标签:Apache-Ignite-1.4.0-中文开发手册

[TOC]

7.Memcached

7.1.Memcached支持

Ignite支持Memcached协议,可以通过任何Memcached兼容客户端从Ignite缓存中存储和获取分布化的数据。

当前,Ignite只支持Memcached的二进制协议。

可以通过如下语言的Memcached客户端连接到Ignite:

  • PHP
  • Java
  • Python
  • Ruby

7.2.PHP

要使用PHP客户端通过Memcached连接到Ignite,首先要下载Ignite,然后:

  • 启动配置有缓存的Ignite,比如:
bin/ignite.sh examples/config/example-cache.xml
  • 通过二进制协议用Memcached客户端连接到Ignite:
// Create client instance.
$client = new Memcached();

// Set localhost and port (set to correct values).
$client->addServer("localhost", 11211);

// Force client to use binary protocol.
$client->setOption(Memcached::OPT_BINARY_PROTOCOL, true);

// Put entry to cache.
if ($client->add("key", "val"))
    echo "Successfully put entry in cache.\n";

// Check entry value.
echo("Value for 'key': " . $client->get("key") . "\n");

7.3.Java

要使用Java客户端通过Memcached连接到Ignite,首先要下载Ignite,然后:

  • 启动配置有缓存的Ignite,比如:
bin/ignite.sh examples/config/example-cache.xml
  • 通过二进制协议用Memcached客户端连接到Ignite:
MemcachedClient client = null;

try {
    client = new MemcachedClient(new BinaryConnectionFactory(),
            AddrUtil.getAddresses("localhost:11211"));
} catch (IOException e) {
    e.printStackTrace();
}

client.set("key", 0, "val");

System.out.println("Value for 'key': " + c.get("key"));

7.4.Python

要使用Python客户端通过Memcached连接到Ignite,首先要下载Ignite,然后:

  • 启动配置有缓存的Ignite,比如:
bin/ignite.sh examples/config/example-cache.xml
  • 通过二进制协议用Memcached客户端连接到Ignite:
import pylibmc

client = memcache.Client(["127.0.0.1:11211", binary=True])

client.set("key", "val")

print "Value for 'key': %s" % 

client.get("key")

7.5.Ruby

要使用Ruby客户端通过Memcached连接到Ignite,首先要下载Ignite,然后:

  • 启动配置有缓存的Ignite,比如:
bin/ignite.sh examples/config/example-cache.xml
  • 通过二进制协议用Memcached客户端连接到Ignite:
require 'dalli'

options = { :namespace => "app_v1", :compress => true }

client = Dalli::Client.new('localhost:11211', options)

client.set('key', 'value')

value = client.get('key')