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();
        }
         
    }
  • 相关阅读:
    [Umbraco] DocumentType设计指南
    [Umbraco] 入门教程(转)
    [Umbraco] 熟悉管理页面
    [Umbraco] 创建第一个页面
    [Umbraco] 开篇
    简单的文字上下滚动
    快速判断ie10及以上版本浏览器
    最短JS判断是否为IE6(IE的写法)
    editplus 常用快捷键汇总 大小写代码折叠
    滚动双联广告
  • 原文地址:https://www.cnblogs.com/xsht/p/5407486.html
Copyright © 2011-2022 走看看