zoukankan      html  css  js  c++  java
  • 转jlchen java获取memcached所有key

    public class Telnet {
        public static void main(String args[]) {
            String[] keys = allkeys("localhost", 11211).split(" ");
            Arrays.sort(keys);
            for(String s : keys){
                System.out.println(s);
            }
            System.out.println(telnet("localhost", 11211, "stats"));
        }
        public static String allkeys(String host, int port){
            StringBuffer r = new StringBuffer();
            try {
                Socket socket = new Socket(host, port);
                PrintWriter os = new PrintWriter(socket.getOutputStream());
                BufferedReader is = new BufferedReader(new InputStreamReader( socket.getInputStream()));
                os.println("stats items");
                os.flush();
                String l ;
                while (!(l = is.readLine()).equals("END")) {
                    r.append(l).append(" ");
                }
                String rr = r.toString();
                Set<String> ids = new HashSet<String>();
                if(rr.length() > 0){
                    r = new StringBuffer();//items
                    rr.replace("STAT items", "");
                    for(String s : rr.split(" ")){
                        ids.add(s.split(":")[1]);
                    }
                    if (ids.size() > 0){
                        r = new StringBuffer();//
                        for(String s : ids){
                            os.println("stats cachedump "+ s +" 0");
                            os.flush();
                            while (!(l = is.readLine()).equals("END")) {
                                r.append(l.split(" ")[1]).append(" ");
                            }
                        }
                    }
                }
                 
                os.close();
                is.close();
                socket.close();
            } catch (Exception e) {
                System.out.println("Error" + e);
            }
            return r.toString();
        }
        public static String telnet(String host, int port, String cmd){
            StringBuffer r = new StringBuffer();
            try {
                Socket socket = new Socket(host, port);
                PrintWriter os = new PrintWriter(socket.getOutputStream());
                BufferedReader is = new BufferedReader(new InputStreamReader( socket.getInputStream()));
                os.println(cmd);
                os.flush();
                String l ;
                while (!(l = is.readLine()).equals("END")) {
                    r.append(l).append(" ");
                }
                os.close();
                is.close();
                socket.close();
            } catch (Exception e) {
                System.out.println("Error" + e);
            }
            return r.toString();
        }
         
    }
  • 相关阅读:
    Linux系统目录数和文件数限制
    用十条命令在一分钟内检查Linux服务器性能
    Linux 性能
    vmstat命令
    利用Clonezilla备份还原Linux系统 (转载别人的知识)
    性能,并发,压力--别人所写
    linux -top 命令
    Linux 随写
    接口测试
    Jmeter关联正则表达式提取器
  • 原文地址:https://www.cnblogs.com/xsht/p/5407486.html
Copyright © 2011-2022 走看看