MemcacheController.java
import java.io.IOException;
import net.spy.memcached.AddrUtil;
import net.spy.memcached.MemcachedClient;
public class MemcacheController {
private MemcachedClient cache_user = null;
private static MemcacheController memcacheController = null;
/**
* 使用单例模式
*
*/
private MemcacheController() {
}
public static MemcacheController getInstance() {
if (memcacheController == null) {
memcacheController = new MemcacheController();
}
return memcacheController;
}
/**
*
* memcached:连接到memcached
*
* @return void
* @throws
*/
public void memcached() {
try {
cache_user = new MemcachedClient(
AddrUtil.getAddresses("192.168.1.191:11211"));
//你可以同时使用多台电脑内存,只要都装上memcached,你懂的
// cache_user = new MemcachedClient(
// AddrUtil.getAddresses("192.168.1.191:11211 192.168.1.133:11211"));
} catch (IOException e) {
System.out.println("init cache_user error!~~~");
e.printStackTrace();
}
}
/**
*
* setUser:添加用户的性别
*
* @param key ID+姓名
* @param value 性别
* @return void
* @throws
*/
public void setUser(String key, Object value) {
cache_user.set(key, Integer.MAX_VALUE, value);
}
/**
*
* getUser:获得用户的性别
*
* @param key
* @return
* @return Object
* @throws
*/
public Object getUser(String key) {
return cache_user.get(key);
}
/**
*
* deleteUser:根据key删除
*
* @param key
* @return void
* @throws
*/
public void deleteUser(String key){
cache_user.delete(key);
}
/**
*
* clearUser:全部清空
*
* @return void
* @throws
*/
public void clearUser(){
cache_user.flush();
}
}
User.java
import java.io.Serializable;
public class User implements Serializable{
private Integer id;
private String name;
private String sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
Test.java
package com.kanq.memcached.demo;
public class Test {
public static void main(String[] args) {
//单个值得存取
// Integer id = 10003;
// String name = "小强";
// String sex = "男人";
//
// MemcacheController memcache = MemcacheController.getInstance();
// memcache.memcached(); // 连接到memcached
// memcache.setUser(id + name, sex);
//
// String value = (String) memcache.getUser(id+name);
// System.out.println(value);
//也可以实现对象的存取 同理 注意存取的对象必须实现序列化
User user = new User();
user.setId(10003);
user.setName("小白");
user.setSex("女人");
String key = user.getId() + user.getName();
MemcacheController memcache = MemcacheController.getInstance();
memcache.memcached(); // 连接到memcached
memcache.setUser(key, user);
String value = ((User)memcache.getUser(key)).getSex();
System.out.println(value);
}
}