您的位置:首页 > 数据库 > Memcache

高并发之Memcached实战第10课-“Memcached Get获取数据”部分代码分享

2015-03-26 23:08 323 查看

高并发之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);
        }
 }

碰到任何问题,请回复,共同讨论,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐