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对应的valueBulkGetFuture<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>