« diff with C++ | メイン | NetBeansでConsolasフォントを使う »

PHPライブラリ Net_TokyoTyrantの紹介
このエントリーをブックマークに追加 このエントリーをlivedoorクリップに追加

皆さんopenpearしてますか!
最近、インフルエンザの予防接種を受けたKeitaです。

ずいぶん前にですが、PHPからTokyoTyrantをネイティブに操作するライブラリをopenpearにてリリースしたので、簡単に紹介したいと思います。

Net_TokyoTyrantとは?

PurePHPで書かれた、TokyoTyrantのネイティブなインターフェースを叩くライブラリです。
memcache互換のインターフェースなどとは違い、TokyoTyrantのLUA拡張などTokyoTyrant本来の機能をほぼすべて使えるというのが特徴です。

インストール

PEARライブラリとして公開されているので非常に簡単にインストール可能です。
openpearのチャンネルを追加します。
pear channel-discover openpear.org

PEARコマンドでインストールを行います。
pear install openpear/Net_TokyoTyrant

サンプルコード

概ねですが下記のような感じで利用できると思います。
関数などは、TokyoTyrantの本家ページにあるものすべてをサポートしています。
require_once 'Net/TokyoTyrant.php';

$tt = new Net_TokyoTyrant();
$tt->connect('localhost', 1978); //接続


$tt->put('oyomesan', 'nounai');
var_dump($tt->get('oyomesan'));
$tt->put('kanozyo', 'pc no naka');
$tt->put('kareshi', 'otoko ha chotto');
var_dump($tt->mget(array('oyomesan', 'kanozyo')));
var_dump($tt->fwmkeys('ka', 100)); //kanozyo, kareshiが返ってくる

$tt->close() //切断

作成した経緯

当初、memcachedのインターフェースからTokyoTyrantを操作していたのですが、PHPのmemcache拡張は、複数の値を一括して取得するmgetや情報取得用の機能がないため、ついカッとなって一晩で作りました。

※今では、gree labsさんで公開されているlibmemcached用のインターフェースなどに備わっているので、memcachedをPHPから使うという場合限っては他の言語と同様に、PHPはまったく機能が不足しているといことはありません。

テストコードを書いたので休日のストレス解消に時々リファクタをしていますがほとんどインターフェースは変わってません。

今後について

以下をやってみたいなーとおもってます。
  • コメントをまったく書いてないのでコメントを書く
  • 例外周りの実装が美しくないので直す
  • TokyoTyrantが64bit整数を返してくるものがあるがそこらへんの扱いをPHPでどうするか考えてないので考える
  • 実践投入してみる

もしくはopenpearの設定で登録してあれば修正できるようになっているので誰かが修正してくれたらなーともおもっています。
また、ベンチマークコードも、oepanpearにて公開しているのでそこらへんの調査もきっちりできればなーというか誰かしてくれないかなぁなどと思っております。

最後に

Net_TokyoTyrantは、id:riafさんとid:sotarokさんが作られている、openpearにて公開されています。

実際に利用してみるとわかりますが、初めてでも1時間程度で、pearとして自分のライブラリを公開することができます。 なおかつsvnなどの面倒も見てくれるので個人でものを作るには非常に便利な環境です。

このサイト自体が、PHPフレームワーク(正確にはPHP libraries & Setup Framework)rhacoで書かれておりここらへんの話だけでも興味深いサイトといえると思います。

誰かのライブラリが公開されたら実際に使ってみて本ブログや個人のブログでご紹介というか他人のふんどしで相撲とらせていただこうかと思います。

長々と書きましたが要するにopenpearの宣伝をして皆さんのライブラリが公開されればいいな!というエントリでございました。ご参考になれば幸いです。

トラックバック

このエントリーのトラックバックURL:
http://www.unoh.net/mt32/mt-tb.cgi/1537

この一覧は、次のエントリーを参照しています: PHPライブラリ Net_TokyoTyrantの紹介:

» [PHP]Tokyo Cabinetを使ってみた from 超メモ帳(Web式)
お仕事の関係でPHPを使ってTokyo Cabinetを使うことになったので、インストール方法やその他もろもろをまとめておきます。 公式 Tokyo C... [詳しくはこちら]

コメントを投稿


画像の中に見える文字を入力してください。

  [PR] 転職
ウノウラボはウノウ株式会社のエンジニア/デザイナーによる大小のアウトプットを行っていく場です。

現在ウノウは絶賛人材募集中です。詳細は求人ページへ。

About

2008年11月15日 16:09に投稿されたエントリーのページです。

ひとつ前の投稿は「diff with C++」です。

次の投稿は「NetBeansでConsolasフォントを使う」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

ウノウサービス