WordPressのobject-cache.phpをハックする

WordPress+Memcached+MySQL最適化

object-cache.php の罠

memcache

実家鯖の blog.y17e.com のWordpressは、高速化のために memcached と連携する object-cache.php を利用している。

それなりに、効果を感じるので同じ実家鯖で稼働している www.milanello.net でも使おうと思ったら、罠が・・・。

なんと、2つのブログの情報が混じる(>.<) が、前回まで。

先日、会社でMemcacheを利用することがあり、そのプロジェクトで、memcache.php をいうものを知る。PHP高速化で有名なAPCの情報を表示するapc.phpのmemcached版らしい。こいつを使うと、どんなキーでどういうデータを格納しているのかWeb上で確認できる。

で、object-cache.php はキーに $blog_id なるものを利用しているらしい。そんなの設定した記憶がないぞ!? WordPress のソースを読むと wp-settings.php にこんな記述が

if ( ! isset($blog_id) )

$blog_id = 1;

$blog_id が issetされてなかったら、1とする・・・。なるほど。では、どこかで $blog_id=2 とすればいいのか。wp-settings.php はバージョンアップ時に書き換わる可能性があるので・・・wp-config.php かな。

で、wp-config.php に $blog_id=2 を書いて、Wordpress/wp-content/ の下にobject-cache.phpを置く。プラグイン直下ではない。

Webで確認。混ざらないね。memcache.php でも1と2でデータがわかれている。いい感じ。と、いうわけで両ブログともに、同一のmemecachedを使うことができました。パチパチパチ。

[tags]memcached,object-cache.php,WordPress,実家鯖,Debian[/tags]

Related Posts with Thumbnails
カテゴリー: 日記   タグ: , , , ,   この投稿のパーマリンク

WordPressのobject-cache.phpをハックする への1件のコメント

  1. ピンバック: wordpress に memcached を使う手順 | Supernova