- blogs:
- cles::blog
« カーネルって面白い :: 3年半ぶりに青物横丁へ »
2007/08/08

memcachedの内容を確認するには


memcachedは便利なんですが、専用のクライアントがないのでどんな項目がどれくらいキャッシュされているかどうかを簡単に知る方法はないようです。ということで、memcachedでどんな内容がキャッシュされているか確認するためのスクリプトを作ってみました。
† ソースコード
memcached_status.php
<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
echo '<html>
<head>
<title>memcached - cached items</title>
</head>
<body>
<h2>Item Detail</h2>
<form action="" method="get">
<input type="text" name="cacheKey" value="'.$_GET['cacheKey'].'"/>
<input type="submit" value="submit" />
</form>';
if( $_GET['cacheKey'] ){
$key = $_GET['cacheKey'];
echo "<h3>Key: $key</h3>
<pre>";
echo var_dump($memcache->get($key));
echo "</pre>";
}
echo '<h2>Cached Items</h2>
<form action="" method="get">
<input type="hidden" name="flush" value="1"/>
<input type="submit" value="flush!" />
</form>
<pre>';
if( $_GET['flush']){
$items = $memcache->getStats('items');
foreach( $items['items'] as $key => $item ){
$number = $item['number'];
$dump = $memcache->getStats('cachedump', $key, $number*2);
foreach( $dump as $ckey => $carr ){
$memcache->delete($ckey);
}
}
}
$items = $memcache->getStats('items');
$count = 0;
$ktotal = 0;
$vtotal = 0;
foreach( $items['items'] as $key => $item ){
$number = $item['number'];
$dump = $memcache->getStats('cachedump', $key, $number*2);
foreach( $dump as $ckey => $carr ){
echo $key,':', $ckey, ': [', $carr[0], 'b; ', $carr[1], 's]', "\n";
$count++;
$vtotal += $carr[0];
$ktotal += strlen($ckey);
}
}
$total = $vtotal + $ktotal;
echo "--\nkey total:$ktotal b\nvalue total:$vtotal b\ntotal: $total b\ncount:$count\n";
echo '</pre>
</body>
</html>';
※2008/05/28追記: コードを少しアップデートしました。
† 出力結果
こんな感じで出力できます。これでちょっと便利になりました。
1:metatags_3053_2141: [12b; 1186572171s]
1:trackback_2968_828: [7b; 1186572170s]
1:metatags_3053_828: [12b; 1186572169s]
1:googlemaps_2526_2: [0b; 1186572166s]
1:trackback_2971_2: [3b; 1186572165s]
1:metatags_3053_641: [12b; 1186572165s]
1:spambayes_3046_0: [12b; 1186572162s]
1:trackback_2968_1912: [7b; 1186572162s]
1:metatags_3053_1912: [12b; 1186572162s]
1:trackback_2961_0: [10b; 1186572156s]
(中略)
18:SKIN_20_archive: [3275b; 1186572199s]
18:SKIN_20_error: [2931b; 1186572177s]
18:SKIN_31_index: [3468b; 1186571842s]
18:SKIN_20_member: [3175b; 1186569842s]
18:SKIN_20_archivelist: [3519b; 1186569616s]
18:SKIN_20_search: [2932b; 1186505101s]
19:TMPL_mdetailed: [4284b; 1186572201s]
19:SKIN_20_index: [3773b; 1186572152s]
19:TMPL_bluerain/full: [4046b; 1186571919s]
20:SKIN_20_item: [5352b; 1186572186s]
20:SKIN_31_item: [5057b; 1186572118s]
--
key total:210675 b
value total:495633 b
total: 706308 b
count:11750
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2141
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« カーネルって面白い :: 3年半ぶりに青物横丁へ »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . Thunderbird のメッセージをスレッド化しないようにする(4724)
2 . Word で数式がグレーアウトされていて挿入できないときは(3507)
3 . Windows 10 で勝手にログアウトされないようにする(3135)
4 . Firefox でパスワードが保存されるページとされないページの違い(2614)
5 . シャープの空気清浄加湿器のキュルキュル音は PTFE スプレーで(2409)
2 . Word で数式がグレーアウトされていて挿入できないときは(3507)
3 . Windows 10 で勝手にログアウトされないようにする(3135)
4 . Firefox でパスワードが保存されるページとされないページの違い(2614)
5 . シャープの空気清浄加湿器のキュルキュル音は PTFE スプレーで(2409)
cles::blogについて
Referrers