PStoreでオブジェクトをファイルに保存する
PStoreはRubyオブジェクトを外部ファイルに保存するためのクラスである。トランザクションの仕組みを持ち、マルチプロセスで同じファイルにアクセスしてもデータが壊れないという特徴がある。
ファイルへのアクセスは、まずPStore
オブジェクトをファイルを指定して生成し、transaction
メソッドのブロック内で行う。
PStoreはハッシュライクなインタフェースを持っている。あるキーに対して任意のオブジェクトを格納することができる。オブジェクトはMarshalを使って自動的にシリアライズ、デシリアライズされる。
以下はPStoreでファイルにオブジェクトを保存する例である。
require 'pstore' db = PStore.new('/tmp/pstore') db.transaction{|pstore| pstore["foo"] = [1, 2, 3] }
以下はPStoreで保存したオブジェクトをファイルから復元する例である。
require 'pstore' db = PStore.new('/tmp/pstore') db.transaction{|pstore| p pstore["foo"] #=> [1, 2, 3] }