もともと、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 件のコメント:
コメントを投稿