У меня есть две таблицы, данные из которых кэшируются с использованием 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.