1
#!/usr/bin/env php
2
<?php
3
/*
4
 * StatusNet - the distributed open-source microblogging tool
5
 * Copyright (C) 2009, StatusNet, Inc.
6
 *
7
 * This program is free software: you can redistribute it and/or modify
8
 * it under the terms of the GNU Affero General Public License as published by
9
 * the Free Software Foundation, either version 3 of the License, or
10
 * (at your option) any later version.
11
 *
12
 * This program is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU Affero General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Affero General Public License
18
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 */
20
21
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
22
23
$shortoptions = "t:l:v:k:";
24
25
$helptext = <<<ENDOFHELP
26
USAGE: showcache.php <args>
27
shows the cached object based on the args
28
29
  -t table     Table to look up
30
  -l column    Column to look up, default "id"
31
  -v value     Value to look up
32
  -k key       Key to look up; other args are ignored
33
34
ENDOFHELP;
35
36
require_once INSTALLDIR.'/scripts/commandline.inc';
37
38
$karg = get_option_value('k');
39
40
if (!empty($karg)) {
41
    $k = common_cache_key($karg);
42
} else {
43
    $table = get_option_value('t');
44
    if (empty($table)) {
45
        die("No table or key specified\n");
46
    }
47
    $column = get_option_value('l');
48
    if (empty($column)) {
49
        $column = 'id';
50
    }
51
    $value = get_option_value('v');
52
53
    $k = Memcached_DataObject::cacheKey($table, $column, $value);
54
}
55
56
print "Checking key '$k'...\n";
57
58
$c = common_memcache();
59
60
if (empty($c)) {
61
    die("Can't initialize cache object!\n");
62
}
63
64
$obj = $c->get($k);
65
66
if (empty($obj)) {
67
    print "Empty.\n";
68
} else {
69
    var_dump($obj);
70
    print "\n";
71
}