Java中的类为memcached
实例com.danga.MemCached
提供了一个本地接口。您可以从
https://github.com/gwhalin/Memcached-Java-Client/downloads获取客户端。Java 类使用与 兼容的散列
,因此您可以混合和匹配访问相同memcached实例的 Java 和应用程序。Java 和其他接口之间的序列化不兼容。如果这是一个问题,请使用 JSON 或类似的非二进制序列化格式。
libmemcached
libmemcached
在大多数系统上,您可以下载软件包并
jar
直接使用。
要使用该com.danga.MemCached
接口,您需要创建一个MemCachedClient
实例,然后通过配置
SockIOPool
. 通过池规范,您可以设置服务器列表、权重和连接参数,以优化客户端与您配置的memcached实例之间的连接。
通常,您可以 在单个类中配置一次 memcached接口,然后在应用程序的其余部分中使用该接口。
例如,要创建一个基本界面,首先配置
MemCachedClient
和基本
SockIOPool
设置:
public class MyClass {
protected static MemCachedClient mcc = new MemCachedClient();
static {
String[] servers =
{
"localhost:11211",
};
Integer[] weights = { 1 };
SockIOPool pool = SockIOPool.getInstance();
pool.setServers( servers );
pool.setWeights( weights );
在上面的示例中,服务器列表是通过创建要使用的memcached实例 数组来配置的。然后,您可以为每个服务器配置单独的权重。
连接的其余属性是可选的,但您可以通过设置池参数来设置连接数(初始连接数、最小连接数、最大连接数和空闲超时):
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6
配置参数后,初始化连接池:
pool.initialize();
池和与您的 memcached实例的连接现在应该可以使用了。
要设置用于选择存储给定密钥时使用的服务器的哈希算法,请使用
pool.setHashingAlg()
:
pool.setHashingAlg( SockIOPool.NEW_COMPAT_HASH );
有效值是NEW_COMPAT_HASH
,
OLD_COMPAT_HASH
也是
NATIVE_HASH
基本模数哈希算法。对于一致的哈希算法,请使用
CONSISTENT_HASH
. 这些常量相当于 .h 中相应的哈希设置
libmemcached
。
下表概述了
Memcached
接口规范
com.danga.MemCached
中的 Java 方法和等效的通用方法。
方法com.danga.MemCached _ |
等效的通用方法 |
---|---|
get() |
通用get() 的。 |
getMulti(keys) |
获取 multiple 的值keys ,返回信息作为哈希映射,
java.lang.String 用于键和
java.lang.Object 相应的值。 |
set() |
通用set() 的。 |
add() |
通用add() 的。 |
replace() |
通用replace() 的。 |
delete() |
通用delete() 的。 |
incr() |
通用incr() 的。 |
decr() |
通用decr() 的。 |