MemCached遍历所有的值

<dependency>
    <groupId>com.danga</groupId>
    <artifactId>java-memcached</artifactId>
    <version>2.6.3</version>
</dependency>
private static MemCachedClient memCachedClient = new MemCachedClient();

	static {

		// 设置缓存服务器列表,当使用分布式缓存的时,可以指定多个缓存服务器。这里应该设置为多个不同的服务,我这里将两个服务设置为一样的.
		String[] servers = { ConstFactory.MEMCACHE_IP + ":"
				+ ConstFactory.MEMCACHE_PORT };
		// 设置服务器权重
		Integer[] weights = { 5 };
		// 创建一个Socked连接池实例
		SockIOPool pool = SockIOPool.getInstance();
		// 向连接池设置服务器和权重
		pool.setServers(servers);
		pool.setWeights(weights);
		// set some TCP settings
		// disable nagle
		// set the read timeout to 3 secs
		// and don't set a connect timeout
		pool.setNagle(false);
		pool.setSocketTO(3000);
		pool.setSocketConnectTO(0);
		// initialize the connection pool
		pool.initialize();
	}

public static List<String> getAllVal() {
		List<String> list = new ArrayList<String>();
		Map<String, Map<String, String>> items = memCachedClient.statsItems();
		for (Iterator<String> itemIt = items.keySet().iterator(); itemIt
				.hasNext();) {
			String itemKey = itemIt.next();
			Map<String, String> maps = items.get(itemKey);
			for (Iterator<String> mapsIt = maps.keySet().iterator(); mapsIt
					.hasNext();) {
				String mapsKey = mapsIt.next();
				String mapsValue = maps.get(mapsKey);
				if (mapsKey.endsWith("number")) { // memcached key 类型
													// item_str:integer:number_str
					String[] arr = mapsKey.split(":");
					int slabNumber = Integer.valueOf(arr[1].trim());
					int limit = Integer.valueOf(mapsValue.trim());
					Map<String, Map<String, String>> dumpMaps = memCachedClient
							.statsCacheDump(slabNumber, limit);
					for (Iterator<String> dumpIt = dumpMaps.keySet().iterator(); dumpIt
							.hasNext();) {
						String dumpKey = dumpIt.next();
						Map<String, String> allMap = dumpMaps.get(dumpKey);
						for (Iterator<String> allIt = allMap.keySet()
								.iterator(); allIt.hasNext();) {
							String allKey = allIt.next();
							list.add(allKey.trim());

						}
					}
				}
			}
		}
		return list;
	}


你可能感兴趣的:(memcached)