#!/usr/bin/env ruby # Persistence::ODBA -- de.oddb.org -- 01.09.2006 -- hwyss@ywesee.com require 'odba' require 'odba/connection_pool' #require 'odba/drbwrapper' ODBA.storage.dbi = ODBA::ConnectionPool.new("DBI:pg:testdb", "masa", "") ODBA.cache.setup class Masa1 include ODBA::Persistable attr_reader :name, :expiry_time def initialize(name) @name = name end def expired? (@expiry_time - Time.now) < 0 end def save(expires=Time.now+2592000) # in 30 days @expiry_time = expires self.odba_store end end class Masa2 include ODBA::Persistable attr_reader :name, :expiry_time def initialize(name) @name = name end def expired? (@expiry_time - Time.now) < 0 end def save(expires=Time.now+2592000) # in 30 days @expiry_time = expires self.odba_store end end #p ODBA.cache.fetch('4').name #exit =begin 100000.times do max_id = ODBA.storage.max_id.to_i masa = Masa1.new("masa1_#{max_id+1}") print "odba_id=", masa.odba_id, "\n" masa.save Time.local(2011,1,1) #sleep (rand/100.0) end =end 100000.times do |i| masa = ODBA.cache.fetch((i+2).to_s) print (i+2), "\t", masa.name, "\n" end