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],我们会很快的为您处理。