Memcached的MemCachedClient设置过期时限

之前做的项目用到了Memcached,用来存储图片验证码.不过需要设置过期时限.代码参照下面.

testMemcache.java

public void testMemcache(){  MemcacheUtil.set("abc","abc", new Date(1*10*1000));  MemcacheUtil.set("bbb","bbb", new Date(System.currentTimeMillis()+8000));</code>    //大于2000为null  try {  Thread.sleep(1*8*1000);  } catch (InterruptedException e) {  // TODO Auto-generated catch block  e.printStackTrace();  }    System.out.println(MemcacheUtil.get("abc"));  System.out.println(MemcacheUtil.get("bbb"));  try {  Thread.sleep(1*1*1000);  } catch (InterruptedException e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  System.out.println(MemcacheUtil.get("abc"));  System.out.println(MemcacheUtil.get("bbb"));  try {  Thread.sleep(1*1*1000);  } catch (InterruptedException e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  System.out.println(MemcacheUtil.get("abc"));  System.out.println(MemcacheUtil.get("bbb"));  }  

MemcacheUtil.java

import java.util.Date;</code>    import com.danga.MemCached.MemCachedClient;    public class MemcacheUtil {  public static MemCachedClient getMemCachedClient() {  return SpringContextUtils.getBean("memcachedClient", MemCachedClient.class);  }    public static boolean set(String key, Object value) {  String newKey = ResourceUtil.getPropertyValue("jdbc.username") + key;  return getMemCachedClient().set(newKey, value);  }    public static boolean set(String key, Object value,Date date) {  String newKey = ResourceUtil.getPropertyValue("jdbc.username") + key;  return getMemCachedClient().set(newKey, value, date);  }    public static Object get(String key) {  String newKey = ResourceUtil.getPropertyValue("jdbc.username") + key;  return getMemCachedClient().get(newKey);  }    public static boolean keyExists(String key) {  String newKey = ResourceUtil.getPropertyValue("jdbc.username") + key;  return getMemCachedClient().keyExists(newKey);  }    public static void clearCache(String...keys) {  for (String key : keys) {  String newKey = ResourceUtil.getPropertyValue("jdbc.username") + key;  getMemCachedClient().delete(newKey);  }  }    public static boolean clearCacheAll() {  return getMemCachedClient().flushAll();  }    /**  * 删除缓存中的数据  * @param key  */  public static boolean deleteCache(String key){  String newKey = ResourceUtil.getPropertyValue("jdbc.username") + key;  return getMemCachedClient().delete(newKey);  }  }  

输出结果:

abc
null
abc
null
null
null

原文出处:yaojian -> http://www.yaojian.me/2018/07/20/memcached%E7%9A%84memcachedclient%E8%AE%BE%E7%BD%AE%E8%BF%87%E6%9C%9F%E6%97%B6%E9%99%90/

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。