1月 272013
<< HerokuでSinatra+PhantomJS || RubyでLevelDB >>
材料
Kyoto Cabinet: a straightforward implementation of DBM
京都収納棚紅玉束縛: Rubyで簡単、DBプログラミング – mixi Engineers' Blog
インストール
brew install kyoto-cabinet
gem install kyotocabinet-ruby
試す
memo.rb
require 'rubygems'
require 'kyotocabinet'
db = KyotoCabinet::DB.new
unless db.open('memo.kch', KyotoCabinet::DB::OWRITER | KyotoCabinet::DB::OCREATE)
printf("DB open error: %s\n", db.error)
end
case ARGV.size
when 0
db.each do |k,v|
puts "#{k} : #{v}"
end
puts "(#{db.count} items)"
when 1
puts db[ARGV[0]]
when 2
k,v = ARGV[0..1]
db[k] = v
puts "#{k} = #{v}"
end
unless db.close
printf("DB close error: %s\n", db.error)
end
keyもvalueも文字列だけでなく数値やtrue/falseが入れれた。
こういうのが動いて驚いた
db[true] = false
puts db[true]