关于java:memcahed-的-java-sdk-如何批量获取memcahed的key

Memcached Java客户端SDK提供了 BulkGetFuture 接口用于获取多个key对应的value,对应的办法是asyncGetBulk。

如果要获取多个key,能够将key以List的模式传入 asyncGetBulk 办法中,返回 BulkGetFuture 对象,再通过 BulkGetFuture.get() 办法获取到后果。

以下是一个简略的示例代码:

//创立连接池
MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil.getAddresses("localhost:11211"));
MemcachedClient client = builder.build();
//须要获取的key列表
List<String> keys = Arrays.asList("key1", "key2", "key3");
//异步获取多个key对应的value
BulkGetFuture<Map<String, Object>> future = client.asyncGetBulk(keys);
try {
    //获取后果
    Map<String, Object> resultMap = future.get();
    for (String key : keys) {
        //获取对应的value
        Object value = resultMap.get(key);
        System.out.println(key + " : " + value);
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    client.shutdown();
}

上述代码中应用了XMemcached客户端,它是一个反对Memcached协定的Java客户端SDK,能够通过Maven依赖引入,例如:

<dependency>
    <groupId>com.googlecode.xmemcached</groupId>
    <artifactId>xmemcached</artifactId>
    <version>2.4.6</version>
</dependency>

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理