MemcachedHelper工具类
2018-07-20 来源:open-open
import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.Map; import java.util.Properties; import com.whalin.MemCached.MemCachedClient; import com.whalin.MemCached.SockIOPool; public class MemcachedHelper { private static MemCachedClient mcc = new MemCachedClient(); static { InputStream in = MemcachedHelper.class.getClassLoader().getResourceAsStream("memcached.properties"); Properties pro = new Properties(); try { pro.load(in); } catch (IOException e) { e.printStackTrace(); } String server01 = pro.getProperty("Server_01"); // 创建Socket连接池实例 SockIOPool spool = SockIOPool.getInstance(); String[] servers = {server01}; Integer[] weights = {3}; // 设置服务器信息 spool.setServers(servers); spool.setWeights(weights); spool.setFailover(true); // 设置初始连接数、最小和最大连接数以及最大处理时间 spool.setInitConn(5); spool.setMinConn(5); spool.setMaxConn(250); spool.setMaxIdle(1000 * 60 * 60 * 6); // 设置主线程睡眠时间 spool.setMaintSleep(30); // 设置TCP参数、连接超时等 spool.setNagle(false); spool.setSocketTO(3000); spool.setSocketConnectTO(0); spool.setAliveCheck(true); // 初始化连接池 spool.initialize(); } protected MemcachedHelper() { } protected static MemcachedHelper instance = new MemcachedHelper(); /** * 为受保护的对象提供一个公共的访问方法 */ public static MemcachedHelper getInstance() { return instance; } /** * 保存数据到缓存中 * @param key * @param value * @return */ public boolean add(String key, Object value) { return mcc.add(key, value); } /** * 保存数据到缓存中并设置过期时间,单位秒 * @param key * @param value * @param expiryDate * @return */ public boolean add(String key, Object value, Date expiryDate) { return mcc.add(key, value, expiryDate); } /** * 根据KEY替换缓存中的数据 * * @param key * @param value * @return */ public boolean replace(String key, Object value) { return mcc.replace(key, value); } public boolean replace(String key, Object value, Date expiryDate) { return mcc.replace(key, value, expiryDate); } /** * 当KEY不存在时将数据添加到缓存中 当KEY存在时则替换原来的数据 * * @param key * @param value * @return */ public boolean set(String key, Object value) { return mcc.set(key, value); } public boolean set(String key, Object value, Date expiryDate) { return mcc.set(key, value, expiryDate); } /** * 删除缓存中的数据 * * @param key * @return */ public boolean delete(String key) { return mcc.delete(key); } /** * 根据指定的KEY获取数据 */ public Object get(String key) { return mcc.get(key); } /** * 判断指定的KEY是否存在 * @param key * @return */ public boolean keyExists(String key){ return mcc.keyExists(key); } /** * 批量获取数据 * @param keys * @return */ public Map<String,Object> getMulit(String[] keys){ return mcc.getMulti(keys); } }
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐