我有两个表,其数据使用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表的缓存。
答案 0 :(得分:1)
您无法一次性从memcached
删除多个密钥。只需单独进行。
如果你必须这样做,那么你可能会误用memcached
。