看了这片短文有点惊讶
Pstore应该是
将Ruby对象存入外部文件------比如磁盘文件时使用的类。该类内部使用了Marshal。
Java和PHP类似的做法叫序列化
http://rubycn.ce-lab.net/man/addlib/PStore.html
db = PStore.new("/tmp/foo") db.transaction do p db.roots ary = db["root"] = [1,2,3,4] ary[0] = [1,1.5] end db.transaction do p db["root"] end
必须在transaction块内部访问数据库。其接口类似于Hash。
另外的例子
对象“H”实例化后存储在“/tmp/rb”中,之后便可以直接打开读取该实例的属性和操作该实例方法。
http://www.cnzxh.net/blog/Index.php?month=2005-12&catalogId=0&key=
#!/usr/bin/env ruby require 'pstore' path = '/tmp/rb' class H attr_accessor :a attr_accessor :b attr_accessor :c def initialize @a, @b, @c = 3, "abc", ["arr", "ay"] end public def test @c.join end end #写入 ps = PStore.new(path) ps.transaction {|x| x['H'] = H.new } ps = nil #读取 PStore.new(path).transaction {|x| h = x['H'] puts h.a puts h.b puts h.test }
YAML 也可以被 PS,
拉郎配, 生硬