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..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..adapter = :local_memory # local_memory | memcache | file | drb | html_file (default: local_memory)
# this will marshall objects into and out of the store.
configatron..marshall_method = :none # none | yaml | ruby (default: none)
# this sets how long objects will live in the cache before they are auto expired.
configatron..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..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...c_threshold = "10_000"
configatron...compression = true
configatron...debug = false
configatron...readonly = false
configatron...urlencode = false
# set the servers to be used for memcache
configatron..servers = ["127.0.0.1:11211"] # ip:port used for memcache
# listed below are the options for file:
configatron...dir = "/cachetastic/caches"
# listed below are the options for drb:
configatron..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..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 <host> -p <port> -v <verbose> -rv <really verbose>
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