从memcached中删除多个键

时间:2011-08-21 11:32:32

标签: java memcached

我有两个表,其数据使用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表的缓存。

1 个答案:

答案 0 :(得分:1)

您无法一次性从memcached删除多个密钥。只需单独进行。

如果你必须这样做,那么你可能会误用memcached