さくらの共用サーバーにTokyo Cabinetをインストールしてrubyから使う
Kyoto Cabinetを使ってみようかと思っていたのだけれど、メモリ不足のせいか上手くコンパイルできなかったので、Tokyo Cabinetに乗り換えた。
さくらインターネットのレンタルサーバーにtokyocabinetとRuby APIをインストール - 深く、広く、高く
ほとんど上記の通りで上手くいった。
ただし二点のみ。
- make コマンドでは上手くいかず、gmakeだとできた。
- requireするときに下記のようにそんなライブラリ無いと怒られた
irb(main):001:0> require 'tokyocabinet' LoadError: no such file to load -- tokyocabinet
二番目の問題については cshrcを編集して $RUBYLIB に「:$HOME/local/lib/ruby」とか追記してPATHを通してやって解決した。他にもやりようはあるかもしれないけどとりあえず使えたからOK
irb irb(main):001:0> require 'tokyocabinet' => true irb(main):002:0> include TokyoCabinet => Object irb(main):003:0> tcdb = TokyoCabinet::ADB::new => #<TokyoCabinet::ADB:0x28431fac @adb=#<TokyoCabinet::ADB_data:0x28431f34>> irb(main):004:0> tcdb.open('*') => true irb(main):005:0> tcdb["foo"] = "bar" => "bar" irb(main):006:0> printf("%s\n", tcdb["foo"]) bar => nil
できた。