【发布时间】:2011-08-21 19:56:57
【问题描述】:
我有两个表,其中的数据使用 memcached 进行缓存。 这两个表都使用相同的 memcached 服务器。 例如:
ABC 表类:
public class ABC {
public int abc;
public Data data;
public static final NAMESPACE = "ABC";
public String getKey() {
return NAMESPACE + abc;
}
public void cacheData() {
String server = "127.0.0.1:11211";
MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses(servers));
client.set(getKey(),data);
}
}
XYZ 表类:
public class XYZ {
public int xyz;
public Data data;
public static final NAMESPACE = "XYZ";
public String getKey() {
return NAMESPACE + xyz;
}
public void cacheData() {
String server = "127.0.0.1:11211";
MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses(servers));
client.set(getKey(),data);
}
}
现在,两个表的多个数据都缓存在同一个 memcached 服务器中。而且我还一次删除一个键。但是我如何只删除一个特定表的整个缓存,即如果我只想删除 XYZ 表的缓存。
【问题讨论】: