为什么我的Memcached设置expiry 日期取出值为空,是为什么

我刚使用memcached,不太会。现在遇到一个问题 ,资料上

mcc.add(key, value, expiry);mcc.set(key, value,expiry);

把数据缓存时都可以通过expiry设置缓存时间,但我测试时只要设置了时间,取值就会为null,没设置时是正确的

public static void main(String[] args)
{
MemCached cache = MemCached.getInstance();
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MINUTE, 30); //加30分钟
cache.add("HOTEL_ITEM_13510624537768234", "123",cal.getTime());
System.out.println("get value : " + cache.get("HOTEL_ITEM_13510624537768234"));
}

打印的log:

com.danga.MemCached.MemCachedClient Mon Nov 05 15:22:17 CST 2012 - Storing with native handler...
com.danga.MemCached.MemCachedClient Mon Nov 05 15:22:17 CST 2012 - ++++ memcache cmd (result code): add HOTEL_ITEM_13510624537768234 0 1352101937 4
(STORED)
com.danga.MemCached.MemCachedClient Mon Nov 05 15:22:17 CST 2012 - ++++ data successfully stored for key: HOTEL_ITEM_13510624537768234
get value : null

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^