Ultra slim file-based cache
Ruby
Pull request Compare This branch is 1 commit behind soveran:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
example
lib
test
.gitignore
LICENSE
README.markdown
Rakefile
drawer.gemspec
drawer.gemspec.erb

README.markdown

Drawer

Ultra slim file-based cache.

Usage

require 'drawer'

cache = Drawer.new('db/development.drawer')
cache.get('foo')                #=> nil
cache.set('foo', 123)
cache.get('foo')                #=> 123
cache.flush_all
cache.get('foo')                #=> nil
cache.set('bar', 456)
cache.set('baz', 789)
cache.get_multi('bar', 'baz')   #=> [456, 789]

An optional second parameter is a class to be used as the persistence layer. By default, DrawerStore is used, but it can be replaced by any class that provides load and save methods. For example:

cache = Drawer.new(some_file, MyStoreClass)

Now, MyStoreClass.load(some_file) and MyStoreClass.save(@cache, some_file) will be used for retrieving and saving the cached contents.

Installation

$ sudo gem install drawer

Copyright (c) 2008 Michel Martens. Released under the MIT license.