Java 连接 Memcached 服务
用 XMemcached / Spymemcached 在 Java 里操作 Memcached。
Key PointsJava 客户端封装了文本协议,set/get/incr 一行搞定,并内置连接池。
XMemcached 示例
Java
MemcachedClient client = XMemcachedClientBuilder
.newClient("127.0.0.1:11211");
client.set("user:1", 3600, "alice"); // key, 过期秒, 值
String v = client.get("user:1");
long n = client.incr("views", 1, 1); // 不存在时初始化为 1
client.delete("user:1");Output
alice
1连接池与序列化
Java
XMemcachedClientBuilder builder =
new XMemcachedClientBuilder("127.0.0.1:11211");
builder.setConnectionPoolSize(4); // 连接池
builder.setTranscoder(new SerializingTranscoder()); // 对象序列化Memcached stores bytes only; Java objects must be serialized (default Java serialization or Kryo). Keep values small — big objects bloat memory and slow the network; trim fields before caching.
XMemcached 示例
Java
MemcachedClient client = XMemcachedClientBuilder
.newClient("127.0.0.1:11211");
client.set("user:1", 3600, "alice"); // key, 过期秒, 值
String v = client.get("user:1");
long n = client.incr("views", 1, 1); // 不存在时初始化为 1
client.delete("user:1");Output
alice
1连接池与序列化
Java
XMemcachedClientBuilder builder =
new XMemcachedClientBuilder("127.0.0.1:11211");
builder.setConnectionPoolSize(4); // 连接池
builder.setTranscoder(new SerializingTranscoder()); // 对象序列化Memcached 只认字节数组,Java 对象要序列化后存(客户端默认用 Java 原生序列化或 Kryo)。注意 value 别太大——大对象既占内存又拖慢网络,缓存前先裁剪字段。