=Configuration: # this will dump into the log, configuration info for each cache, as well as the .inspect # for each object returned from the cache configatron.cachetastic_default_options.debug = false # this is the type of file store to be used for this cache. # more adapters can be developed and plugged in as desired configatron.cachetastic_default_options.adapter = :local_memory # local_memory | memcache | file | drb | html_file (default: local_memory) # this will marshall objects into and out of the store. configatron.cachetastic_default_options.marshall_method = :none # none | yaml | ruby (default: none) # this sets how long objects will live in the cache before they are auto expired. configatron.cachetastic_default_options.default_expiry = 86400 # time in seconds (default: 24 hours) # when setting objects into the cache the expiry_swing is +/- to the expiry time. # example: if the expiry time is 1 hour, and the swing is 15 minutes, # objects will go into the cache with an expiry time sometime between 45 mins and 75 mins. configatron.cachetastic_default_options.expiry_swing = 60 * 15 # time in seconds (default: 0) # these options get passed on directly to the store. # listed below are options for memcache: configatron.cachetastic_default_options.store_options.c_threshold = "10_000" configatron.cachetastic_default_options.store_options.compression = true configatron.cachetastic_default_options.store_options.debug = false configatron.cachetastic_default_options.store_options.readonly = false configatron.cachetastic_default_options.store_options.urlencode = false # set the servers to be used for memcache configatron.cachetastic_default_options.servers = ["127.0.0.1:11211"] # ip:port used for memcache # listed below are the options for file: configatron.cachetastic_default_options.store_options.dir = "/cachetastic/caches" # listed below are the options for drb: configatron.cachetastic_default_options.servers = ["druby://127.0.0.1:61676"] # configure logging for this cache # n number of logs can be configured for a cache log_1 = Logger.new(STDOUT) log_1.level = Logger::DEBUG log_2 = Logger.new("log/cachetastic.log") log_2.level = Logger::ERROR configatron.cachetastic_default_options.logger = [log_1, log_2] =Cachetastic::Drb::Server If you want to use Drb and the Cachetastic::Adapters::Drb adapter, you'll have to use the Cachetastic::Drb::Server that comes with Cachetastic. Using this server is simple. It gets installed as a binary when you install the Cachetastic gem. $ cachetastic_drb_server # that will start the drb server on the host 127.0.0.1 on the port 61676 The server takes to command line parameters: -h -p -v -rv =Examples: class MyAwesomeCache < Cachetastic::Caches::Base end MyAwesomeCache.set(1, [1,2,3]) MyAwesomeCache.get(1) # => [1,2,3] class MyAwesomeCache < Cachetastic::Caches::Base class << self def get(key, x, y) super(key) do n = x + y set(key, n) n end end end end MyAwesomeCache.get(1, 2, 4) # => 8 MyAwesomeCache.get(1, 4, 4) # => 8