v0.61MovableType用KotonohaLinkプラグインのバージョンアップを行いました。変更点は次の通りです。テキストのみのフィールドで置換ができない問題の修正エントリ中の特定の言葉に常にリンクをはりたいときがあります。自社名には自社サイトへのリンクをはりたいですし、製品名には製品紹介ページへのリンクをはりたいということもあると思います。これを自動的に処理するためのプラグインが、「KotonohaLink」です。本プラグインは、以前「MovableTypeで行こう!」にて公開されていたもののバージョンアップ版ですが、以前のバージョンとの互換性はありません。(0)2008年11月26日Windows環境のMTでmemcachedを使う懲りることを知らない私は、前回に引き続きWindows関係のネタを書いていこうと思います。分散型メモリキャッシュシステムであるmemcachedを使ったキャッシュ機構が組み込まれています。システム自体は、大規模なシステムでこそより大きな効果を発揮する性質のものではありますが、メモリに余裕があれば、単体での利用でもかなりの効果を望めます。MT::Memcachedを使った開発を行う場合、ローカル環境で動作確認できると大変便利です。Typeでmemcachedを利用する方法を紹介したいと思います。memcachedのインストール公式サイトで配布されているmemcachedはWin32向けにビルドすることができないのですが、現在いくつかのサイトにおいてWin32版のmemcachedが開発・公開されています。今回は、執筆時点での最新となるmemcached1.2.6を公開している次のサイトのものをインストールします。適切なフォルダに保存します。保存したフォルダへ移動し、次のコマンドラインを実行します。installこれでmemcachedがサービスとして登録されます。デフォルトでは利用するメモリは64MBになっていますので、必要に応じて-mオプションで利用メモリを増やすとよいでしょう。サービスが起動します。PerlモジュールのインストールmemcachedをPerlから利用するためにはPerlモジュールCache::Memcachedもしくはその互換モジュールが必要となります。今回はWin32でも安心して使えるPurePerl実装のCache::Memcachedをインストールします。ActivePerlではppmを用いて容易にインストールできます。Typeに実装されているmemcachedを用いたキャッシュ機構を利用するためには、mt-config.cgiに環境変数「MemcachedServers」の設定を追加して、利用するmemcachedサーバーを指定する必要があります。今回はローカルにインストールされたデフォルト設定のmemcacheを利用しますので、次の1行をmt-config.cgiに追加します。127.0.0.1:11211あとは必要に応じてWebサーバーの再起動を行います。これでmemcachedが利用されるようになりました。どれくらい効果があるかは環境にも大きく依存すると思いますが、データベースへのアクセスが多い場面では、変化を実感しやすいのではないかと思います。mt-config.cgiでの設定ですが、環境変数「MemcachedServers」を複数記述することで複数のmemcachedサーバーを利用することができるようになります。Typeから同一のmemcachedサーバーを利用する場合には環境変数「MemcachedNamespace」に固有の接頭辞を設定することで、キャッシュの衝突を防ぐことができます。必要に応じて設定しましょう。Manager」のような補助ツールも存在します。必要に応じてインストールしておくと便利です。高速にPerlモジュールCache::Memcachedには複数の互換モジュールが存在します。これらの互換モジュールを利用する場合にはmt-config.cgiに環境変数「MemcachedDriver」の設定を追加します。高速に動作するCache::Memcached::Fastを利用したい場合、次の1行をmt-config.cgiに追加します。Cache::Memcached::Fastただし、互換モジュールには、動作させているmemcachedのバージョンへの対応を含め、完全な互換性を持っていない可能性がありますので、導入の際には慎重に動作確認を行いましょう。まとめmemcachedは汎用性があり様々な言語から利用することができる大変便利なキャッシュシステムです。導入のハードルもさほど高くないので、性能的なボトルネックが見つかった際、memcachedの利用が可能であるか検討してみるとよいかと思います。Typeによるサイト構築やプラグイン開発、iPhone・Windows等のアプリケーション開発業務を行っています。お問い合わせはこちらまで。