这是一个简单的memcash的util类:其他详细的都不在这说了网上很多介绍:
propertiy文件内容
mccserver=192.168.10.34:6379 timeout=120000
下面是util的类:
import java.util.Date; import java.util.Properties; import java.util.Random; import java.io.File; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; import com.palmcommerce.util.EncryptUtil; import com.palmcommerce.util.FileLoader; //import com.xjfc.domain.user.UserSingle; import com.xingkongyongheng.trade.bean.UserInfo; import com.xingkongyongheng.web.action.wap.charge.Rsa; public class SingleLoginHelpser { //声明一个memcash 客户端 private MemCachedClient mcc = new MemCachedClient(); private static SingleLoginHelpser instance=null; static boolean isSuccess=true; private SingleLoginHelpser() { //初始化设置 String path=SingleLoginHelpser.class.getPackage().getName(); path=path.replace(".", File.separator)+File.separator+"memcash.properties"; Properties properties=FileLoader.loadProByClassPath(path); if(properties!=null) { mccserver=properties.getProperty("mccserver"); timeout=Long.parseLong(properties.getProperty("timeout")); initMcc(); isSuccess=true; }else { isSuccess=false; System.out.println("memcash.properties not found"); } } //获取实例 public static SingleLoginHelpser getInstance() { if(instance!=null&&isSuccess) { return instance; }else { instance=new SingleLoginHelpser(); if(instance!=null&&isSuccess) { return instance; }else { return null; } } } private String mccserver;//memcash server地址,包括端口号 private long timeout=60*1000;//保存对象时间,默认为一分钟 public void initMcc() { String[] servers =mccserver.split(","); Integer[] weights = { 3 }; //创建一个实例对象SockIOPool SockIOPool pool = SockIOPool.getInstance(); //设置Memcached Server pool.setServers( servers ); pool.setWeights( weights ); pool.setInitConn( 5 ); pool.setMinConn( 5 ); pool.setMaxConn( 250 ); pool.setMaxIdle( 1000 * 60 * 60 * 6 ); pool.setMaintSleep( 30 ); // Tcp的规则就是在发送一个包之前,本地机器会等待远程主机 // 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存, // 以至这个包准备好了就发; pool.setNagle( false ); //连接建立后对超时的控制 pool.setSocketTO( 3000 ); //连接建立时对超时的控制 pool.setSocketConnectTO( 0 ); // initialize the connection pool //初始化一些值并与MemcachedServer段建立连接 pool.initialize(); // lets set some compression on for the client // compress anything larger than 64k mcc.setCompressEnable( false ); mcc.setCompressThreshold( 64 * 1024 ); } //向缓存添加一个对象 public void add(String key,Object value) { mcc.add(key, value, new Date(timeout)); } //根据key读取一个对象 public Object get(String key) { return mcc.get( key ); } //读取并删除 public Object getremove(String key) { Object object=mcc.get( key ); mcc.delete(key); return object; } //删除一个对象 public void remove(String key) { mcc.delete(key); } public void removeall() { mcc.flushAll(); } public static String getRandomString(int num) { //String randstring = "0123456789"; String randstring = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; return String.valueOf(randstring.charAt(num)); } }