Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 373
- Log:
Initial import of Radiant 0.9.1, which is now packaged as a gem. This is an
import of the tagged 0.9.1 source checked out from GitHub, which isn't quite
the same as the gem distribution - but it doesn't seem to be available in an
archived form and the installed gem already has modifications, so this is
the closest I can get.
- Author:
- rool
- Date:
- Mon Mar 21 13:40:05 +0000 2011
- Size:
- 4309 Bytes
1 | __Rack::Cache__ is suitable as a quick drop-in component to enable HTTP caching |
2 | for [Rack][]-based applications that produce freshness (`Expires`, |
3 | `Cache-Control`) and/or validation (`Last-Modified`, `ETag`) information. |
4 | |
5 | * Standards-based (see [RFC 2616][rfc] / [Section 13][s13]). |
6 | * Freshness/expiration based caching |
7 | * Validation |
8 | * Vary support |
9 | * Portable: 100% Ruby / works with any [Rack][]-enabled framework. |
10 | * Disk, memcached, and heap memory [storage backends][storage]. |
11 | |
12 | News |
13 | ---- |
14 | |
15 | * [How to use Rack::Cache with Rails 2.3](http://snippets.aktagon.com/snippets/302-How-to-setup-and-use-Rack-Cache-with-Rails-2-3-0-RC-1) - it's really easy. |
16 | * [RailsLab's Advanced HTTP Caching Screencast](http://railslab.newrelic.com/2009/02/26/episode-11-advanced-http-caching) |
17 | is a really great review of HTTP caching concepts and shows how to |
18 | use Rack::Cache with Rails. |
19 | |
20 | Installation |
21 | ------------ |
22 | |
23 | $ sudo gem install rack-cache |
24 | |
25 | Or, from a local working copy: |
26 | |
27 | $ git clone git://github.com/rtomayko/rack-cache.git |
28 | $ rake package && sudo rake install |
29 | |
30 | Basic Usage |
31 | ----------- |
32 | |
33 | __Rack::Cache__ is implemented as a piece of [Rack][] middleware and can be used |
34 | with any __Rack__-based application. If your application includes a rackup |
35 | (`.ru`) file or uses __Rack::Builder__ to construct the application pipeline, |
36 | simply `require` and `use` as follows: |
37 | |
38 | require 'rack/cache' |
39 | |
40 | use Rack::Cache, |
41 | :verbose => true, |
42 | :metastore => 'file:/var/cache/rack/meta' |
43 | :entitystore => 'file:/var/cache/rack/body' |
44 | |
45 | run app |
46 | |
47 | Assuming you've designed your backend application to take advantage of HTTP's |
48 | caching features, no further code or configuration is required for basic |
49 | caching. |
50 | |
51 | More |
52 | ---- |
53 | |
54 | * [Configuration Options][config] - how to set cache options. |
55 | |
56 | * [Cache Storage Documentation][storage] - detailed information on the various |
57 | storage implementations available in __Rack::Cache__ and how to choose the one |
58 | that's best for your application. |
59 | |
60 | * [Things Caches Do][things] - an illustrated guide to how HTTP gateway |
61 | caches work with pointers to other useful resources on HTTP caching. |
62 | |
63 | * [GitHub Repository](http://github.com/rtomayko/rack-cache/) - get your |
64 | fork on. |
65 | |
66 | * [Mailing List](http://groups.google.com/group/rack-cache) - for hackers |
67 | and users (`rack-cache@groups.google.com`). |
68 | |
69 | * [FAQ](./faq) - Frequently Asked Questions about __Rack::Cache__. |
70 | |
71 | * [RDoc API Documentation](./api/) - Mostly worthless if you just want to use |
72 | __Rack::Cache__ in your application but mildly insightful if you'd like to |
73 | get a feel for how the system has been put together; I recommend |
74 | [reading the source](http://github.com/rtomayko/rack-cache/master/lib/rack/cache). |
75 | |
76 | |
77 | See Also |
78 | -------- |
79 | |
80 | The overall design of __Rack::Cache__ is based largely on the work of the |
81 | internet standards community. The following resources provide a good starting |
82 | point for exploring the basic concepts of HTTP caching: |
83 | |
84 | * Mark Nottingham's [Caching Tutorial](http://www.mnot.net/cache_docs/), |
85 | especially the short section on |
86 | [How Web Caches Work](http://www.mnot.net/cache_docs/#WORK) |
87 | |
88 | * Joe Gregorio's [Doing HTTP Caching Right](http://www.xml.com/lpt/a/1642) |
89 | |
90 | * [RFC 2616](http://www.ietf.org/rfc/rfc2616.txt), especially |
91 | [Section 13, "Caching in HTTP"](http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html) |
92 | |
93 | __Rack::Cache__ takes (_liberally_) various concepts from |
94 | [Varnish](http://varnish.projects.linpro.no/) and |
95 | [Django's cache framework](http://docs.djangoproject.com/en/dev/topics/cache/). |
96 | |
97 | License |
98 | ------- |
99 | |
100 | __Rack::Cache__ is Copyright © 2008 |
101 | by [Ryan Tomayko](http://tomayko.com/about) |
102 | and is provided under [the MIT license](./license) |
103 | |
104 | [config]: ./configuration "Rack::Cache Configuration Language Documentation" |
105 | [storage]: ./storage "Rack::Cache Storage Documentation" |
106 | [things]: http://tomayko.com/writings/things-caches-do |
107 | |
108 | [rfc]: http://tools.ietf.org/html/rfc2616 |
109 | "RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 [ietf.org]" |
110 | |
111 | [s13]: http://tools.ietf.org/html/rfc2616#section-13 |
112 | "RFC 2616 / Section 13 Caching in HTTP" |
113 | |
114 | [rack]: http://rack.rubyforge.org/ |
115 | "Rack: a Ruby Webserver Interface" |
116 | |
117 | [vcl]: http://tomayko.com/man/vcl |
118 | "VCL(7) -- Varnish Configuration Language Manual Page" |