PythonからTokyoTyrantをつかう
TokyoTyrantなるものを使ってみました。
なんぞや
TokyoTyrantはTokyoCabinetをネットワーク越しに使えるようにしたりmemcache互換プロトコルを喋れるようにしたりするラッパーです。
TokyoCabinetはシンプル高速なKey-Value形のデータベースで、mixiの中の人製だそうです。
インストール
TokyoCabinetとTokyoTyrantをソースからインストール。
zlibとbzip2が必要なので注意
apt-get install zlib1g apt-get install bzip2 wget http://sourceforge.net/projects/tokyocabinet/files/tokyocabinet/1.4.31/tokyocabinet-1.4.31.tar.gz/download wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.33.tar.gz
して、展開してそれぞれ./configure;make;make install
するりと入る。
pytyrant
Pythonから使いたいのでpytyrantを入れる。ついでにmemcachedも入れる
easy_install pytyrant easy_install python-memcached
id:perezvonさんのpython-tokyotyrantはうまく導入できませんでした…うぬぬ
使ってみる
tokyotyrantを起動
/usr/local/sbin/ttservctl start
デフォルトではポート1978で起動する。
まずはpytyrantから使ってみる。
In [1]: import pytyrant In [2]: client = pytyrant.PyTyrant.open() In [3]: client["feiz"] = "nullpo" In [4]: client.get("feiz") Out[4]: 'nullpo'
とれた。当然裏側ではファイルに永続化されてるので、対話シェルを落としたりtokyotyrantを落として立ち上げなおしたりしてもデータが取り出せます。
tokyotyrantはmemcache互換プロトコルを喋るとのことなので、memcacheから使ってみる。
In [6]: import memcache In [7]: client = memcache.Client(["localhost:1978"]) In [8]: client.get("feiz") Out[8]: 'nullpo'
なるほど。
TokyoTyrantまとめ
導入簡単
使うの簡単
永続化する
memcache互換