3 * memcached diagnostic tool
7 * @subpackage Maintenance
11 require_once( 'commandLine.inc' );
12 require_once( 'memcached-client.php' );
14 $mcc = new memcached( array('persistant' => true, 'debug' => true) );
15 $mcc->set_servers( $wgMemCachedServers );
16 $mcc->set_debug( true );
18 function mccShowHelp($command) {
20 if(! $command ) { $command = 'fullhelp'; }
26 // will show help for all commands
30 print "get: grabs something\n";
31 if($onlyone) { break; }
34 print "getsock: lists sockets\n";
35 if($onlyone) { break; }
38 print "set: changes something\n";
39 if($onlyone) { break; }
42 print "delete: deletes something\n";
43 if($onlyone) { break; }
46 print "history: show command line history\n";
47 if($onlyone) { break; }
50 print "dumpmcc: shows the whole thing\n";
51 if($onlyone) { break; }
55 print "exit or quit: exit mcc\n";
56 if($onlyone) { break; }
59 print "help: help about a command\n";
60 if($onlyone) { break; }
64 print "$command: command does not exist or no help for it\n";
74 $line = readconsole( '> ' );
75 if ($line === false) exit;
77 $args = explode( ' ', $line );
78 $command = array_shift( $args );
83 // show an help message
84 mccShowHelp(array_shift($args));
88 print "Getting {$args[0]}[{$args[1]}]\n";
89 $res = $mcc->get( $args[0] );
90 if ( array_key_exists( 1, $args ) ) {
91 $res = $res[$args[1]];
93 if ( $res === false ) {
94 #print 'Error: ' . $mcc->error_string() . "\n";
95 print "MemCached error\n";
96 } elseif ( is_string( $res ) ) {
104 $res = $mcc->get( $args[0] );
105 $sock = $mcc->get_sock( $args[0] );
110 $key = array_shift( $args );
111 if ( $args[0] == "#" && is_numeric( $args[1] ) ) {
112 $value = str_repeat( '*', $args[1] );
114 $value = implode( ' ', $args );
116 if ( !$mcc->set( $key, $value, 0 ) ) {
117 #print 'Error: ' . $mcc->error_string() . "\n";
118 print "MemCached error\n";
123 $key = implode( ' ', $args );
124 if ( !$mcc->delete( $key ) ) {
125 #print 'Error: ' . $mcc->error_string() . "\n";
126 print "MemCached error\n";
131 if ( function_exists( 'readline_list_history' ) ) {
132 print_r(readline_list_history());
134 print "readline_list_history() not available\n";
153 print "Bad command\n";
156 if ( function_exists( 'readline_add_history' ) ) {
157 readline_add_history( $line );