package cn.com.memcachedemo.memcachedemo.d002;
import java.io.IOException;
import java.io.Serializable;
import java.net.InetSocketAddress;
import java.util.Date;
import net.spy.memcached.MemcachedClient;
/**
<dependency>
<groupId>net.spy</groupId>
<artifactId>spymemcached</artifactId>
<version>2.9.1</version>
</dependency>
*/
public class MemcacheUse {
private static class TestKey implements Serializable {
private static final long serialVersionUID = 1L;
private long d = new Date().getTime();
public String toString() {
return "TestKey ["+d+"]";
}
}
public static void main(String[] args) throws IOException {
MemcachedClient c=new MemcachedClient(new InetSocketAddress("192.168.1.109", 12000));
// Store a value (async) for one hour
TestKey myData = new TestKey();
//兼有add 和set于一身,不存在则添加,存在则替换
c.set("someKey", 3600, myData);
//不存在则添加,否则不成功
c.add("Hello2", 1000, "Memcache3");
//存在则替换,否则不成功
c.replace("Hello4", 1000, "软件开发4");
c.set("Hello4", 3600, "软件开发4");
c.delete("Hello4");
// System.out.println(c.getAvailableServers());
// Retrieve a value (synchronously).
TestKey myObject=(TestKey)c.get("someKey");
System.out.println(c.get("Hello2"));
System.out.println(c.get("Hello"));
System.out.println(c.get("Hello4"));
System.out.println(c.getStats());
System.out.println(myObject.toString());
c.shutdown();
}
}