=Gem Requirements: * Application Configuration * Ruby Extensions * Rails Extensions =Configuration: cachetastic_default_options: # this will dump into the log, configuration info for each cache, as well as the .inspect # for each object returned from the cache debug: true # true | false (default: false) # this is the type of file store to be used for this cache. # more adapters can be developed and plugged in as desired adapter: local_memory # local_memory | memcache | file (default: local_memory) # this will marshall objects into and out of the store. # so far yaml is the only supported marshall format. marshall_method: none # none | yaml (default: none) # this sets how long objects will live in the cache before they are auto expired. default_expiry: <%= 24.hours %> # 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. expiry_swing: <%= 15.minutes %> # time in seconds (default: 0) # these options get passed on directly to the store. # only the memcache and file stores uses these options currently. store_options: # listed below are options for memcache c_threshold: 10_000 compression: true debug: false readonly: false urlencode: false store_options: # listed below are the options for file dir: /cachetastic/caches/ # absolute path to the directory where caches should be stored. # configure logging for this cache: logging: # n number of logs can be configured for a cache # their names can be anything you want, it's doesn't matter logger_1: # this sets the type of log you want to write to. # right now the only two options are file and console type: file # console | file (default: none) # if the type is file, you need to configure where the log file is to be written. file: log/memcached.log # relative | absolute path to log file # this sets the level of logging for this cache level: info # debug | info | warn | error | fatal (default: info) logger_2: # this sets the type of log you want to write to. # right now the only two options are file and console type: console # console | file (default: none) # this sets the level of logging for this cache level: error # debug | info | warn | error | fatal (default: info) # set the servers to be used for memcache servers: - 127.0.0.1:11211 # ip:port used for memcache # if using the mongrel_page_cache_handler gem, you can configure it to use cachetastic. page_cache_storage: cachetastic # disk | cachetastic (default: cachetastic) # example of how to override options for page cacheing: cachetastic_caches_page_cache_options: default_expiry: <%= 1.hour %> expiry_swing: <%= 15.minutes %> # example of how to override options for rails session cacheing: cachetastic_caches_rails_session_cache_options: default_expiry: <%= 30.minutes %> =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