I'm pleased to announce the initial release of Rack::Cache, a piece of Rack middleware that implements many of RFC 2616's caching features with a basic set of storage options (disk, heap, and memcached) and a configuration system for controlling cache policy. http://tomayko.com/src/rack-cache/ http://github.com/rtomayko/rack-cache/ Introductory blog post: http://tomayko.com/writings/rack-cache-announce Features -------- Rack::Cache is suitable as a quick drop-in component to enable HTTP caching for Rack-based applications that produce freshness (Expires, Cache-Control) and/or validation (Last-Modified, ETag) information. * Standards-based (RFC 2616) * Freshness/expiration based caching * Validation * Vary support * Portable: 100% Ruby / works with any Rack-enabled framework * Configuration language for advanced caching policies * Disk, memcached, and heap memory storage backends Status ------ This is a young and experimental project that is likely to change substantially and may not be wholly functional, consistent, fast, or correct. The current focus is on reaching basic compliance with RFC 2616 and providing good documentation. Installation ------------ From Gem: $ gem install rack-cache With a local working copy: $ git clone git://github.com/rtomayko/rack-cache.git $ cd rack-cache $ rake package && rake install COPYING ------- Rack::Cache is Copyright (c) 2008 Ryan Tomayko <http://tomayko.com/about> and made available under the terms of the MIT license.