高并发之Memcached实战第10课-“Memcached Get获取数据”部分代码分享
先写个要存的数据的相关类:
public class Student implements java.io.Serializable { public String Name; public int Age; }
然后用java写Memcached客户端写和读操作:
import java.io.IOException; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; import net.spy.memcached.MemcachedClient; import net.spy.memcached.internal.OperationFuture; public class MemcachedJava { public static void main(String[] args) throws IOException, InterruptedException, ExecutionException { //Connecting to Memcached server on localhost List<InetSocketAddress> list=new ArrayList<InetSocketAddress>(); list.add(new InetSocketAddress("127.0.0.1", 11211)); MemcachedClient mcc = new MemcachedClient(list); System.out.println("Connection to server sucessfully"); Student s=new Student(); s.Name="Jumping"; s.Age=29; OperationFuture<Boolean> of=mcc.set("s1", 900, s); // of.get() 确保之前(mcc.set())操作已经结束,并且获取结果 System.out.println("set status:" +of.get()); Student sout=(Student)mcc.get("s1"); System.out.println("Get from Cache:" + sout.Name); Student s2=new Student(); s2.Name="Jumping2"; s2.Age=29; Student s3=new Student(); s3.Name="Jumping3"; s3.Age=29; List<Student> ss=new ArrayList<Student>(); ss.add(s2); ss.add(s3); OperationFuture<Boolean> of2=mcc.set("ss", 900, ss); System.out.println("set ss status:" +of2.get()); ArrayList<Student> s2out=(ArrayList<Student>)mcc.get("ss"); System.out.println("Get from ss:" + ((Student)s2out.toArray()[0]).Name); System.out.println("Get from ss:" + ((Student)s2out.toArray()[1]).Name); System.exit(0); } }
碰到任何问题,请回复,共同讨论,谢谢!