forked from Thibaut/rack-cache
-
Notifications
You must be signed in to change notification settings - Fork 5
/
TODO
27 lines (24 loc) · 1.23 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## 0.5
- Document allow_revalidate and allow_reload options.
- Support multiple memcache servers.
- Purge/invalidate everything
- Explicit expiration/invalidation based on response headers or via an
object interface passed in the rack env.
- Sample apps: Rack, Rails, Sinatra, Merb, etc.
- Move old breakers.rb configuration file into rack-contrib as a
middleware component.
## Backlog
- Use Bacon instead of test/spec
- Fast path pass processing. We do a lot more than necessary just to determine
that the response should be passed through untouched.
- Invalidate at the URI of the Location or Content-Location response header
on POST, PUT, or DELETE that results in a redirect.
- Maximum size of cached entity
- Last-Modified factor: requests that have a Last-Modified header but no Expires
header have a TTL assigned based on the last modified age of the response:
TTL = (Age * Factor), or, 1h = (10h * 0.1)
- Consider implementing ESI (http://www.w3.org/TR/esi-lang). This should
probably be implemented as a separate middleware component.
- stale-while-revalidate
- Serve cached copies when down (see: stale-if-error) - e.g., database
connection drops and the cache takes over what it can.