【问题标题】:Delete multiple keys from memcached从 memcached 中删除多个键
【发布时间】: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 表的缓存。

【问题讨论】:

    标签: java memcached


    【解决方案1】:

    您不能一次性从memcached 中删除多个密钥。分开做就好了。

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

    【讨论】:

    • 问题是我正在使用类似delete from table where id=? 的命令从表中删除多个数据。那么,更新缓存条目的适当过程应该是什么?
    猜你喜欢
    • 1970-01-01
    • 2012-01-16
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2012-03-31
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多