もともと、rubyな人だったので、まずはrubyで試してみる。
インストール
まずはインストール、適当に用意してあったVmWare上のCentOsに放り込むCabinet,Tyrant,TyrantRubyをイントール。必要なライブラリが足りなかったので、下記で充当。
yum -y install zlib-devel yum -y install bzip*それぞれのライブラリは
configure make make installでOKだった。簡単。簡単。
rubyバインディングはinstall.rbがあったので、そいつを叩けば終了。
これで、とりあえず準備は整った。
今回は、2次元のデータ構造(Grid形式のもの)を放り込みたかったので、
テーブルのタイプは、tchではなく、tctを選択することにする。
ttservctlをエディタで開いて、拡張子を変更する。(tch -> tct)
dbname="$basedir/casket.tct#bnum=1000000"
そしてサーバ再起動
ttservctl stop ttservctl start最もシンプルなコードでテスト。
require 'tokyotyrant'
include TokyoTyrant
#このRDBTBLを利用する為に、拡張子をかえました。
db = RDBTBL::new
if !db.open('localhost',1978)
p 'not connected'
end
#putの反対はout,outするとメモリ上からさようなら。
if !db.put("row1",{"name" => "cat", "age" => "18"})
p 'put error'
end
db.put("row2",{"name" => "dog", "age" => "19"})
db.put("row3", {"name" => "lion","age" => "20"})
qry = RDBQRY::new(db)
#sortしてみる。
qry.setorder("age",RDBQRY::QONUMDESC)
#MYSQLのlimitと同じ、結果セットから1件だけ下さい。
qry.setlimit(1)
p qry.search
p qry.searchcount
if !db.close
p 'not disconnected'
end
結果は、["row3"] 1よしよし、期待通り。次はJavaだな。
0 件のコメント:
コメントを投稿