public
class
Telnet {
public
static
void
main(String args[]) {
String[] keys = allkeys(
"localhost"
,
11211
).split(
"\n"
);
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(
"\n"
);
}
String rr = r.toString();
Set<String> ids =
new
HashSet<String>();
if
(rr.length() >
0
){
r =
new
StringBuffer();
rr.replace(
"STAT items"
,
""
);
for
(String s : rr.split(
"\n"
)){
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(
"\n"
);
}
}
}
}
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(
"\n"
);
}
os.close();
is.close();
socket.close();
}
catch
(Exception e) {
System.out.println(
"Error"
+ e);
}
return
r.toString();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步