This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Tue Jun 03 12:57:09 -0700 2008 | [markbates] |
| |
README | Wed Apr 16 13:53:44 -0700 2008 | [Mark Bates] |
| |
Rakefile | Tue Jul 01 12:05:54 -0700 2008 | [markbates] |
| |
bin/ | Wed Apr 16 10:59:54 -0700 2008 | [Mark Bates] |
| |
lib/ | Tue Jul 01 10:29:06 -0700 2008 | [GrrrD] |
| |
test/ | Wed Jun 04 07:09:57 -0700 2008 | [markbates] |
README
=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 | drb | html_file (default: local_memory)
# this will marshall objects into and out of the store.
marshall_method: none # none | yaml | ruby (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.
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.
store_options: # listed below are the options for drb
host: "druby://127.0.0.1:61676"
# 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
# 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 %>
=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



