Gem AcornCache - 基于 Rack 的 HTTP 缓存中间件

knwang · 2016年03月03日 · 最后由 springwq 回复于 2016年03月05日 · 1798 次阅读

看这里:https://github.com/acorncache/acorn-cache

这个是最近带着两个我们的学生做的他们的毕业项目。

主要亮点:

- Rack 中间件,即插即用 - 兼容 HTTP 标准(RFC 2616) - 支持 Redis 和 Memcached 作为缓存存储

相对于已有的 Rack::Cache, 提供了服务器端可配置的 Page Rules, 可以针对不同的路径配置缓存方式以及 定制:TTL 时间,忽略 query params ( marketing 加的 utm tag 什么的可以直接忽略), 和比较保守的 must_revalidate 头设置(检查 etags 和 last_modified)

因为这些设置,acorn_cache 可以用于对一致性要求不大,但流量很大的动态页面,比如包括一些动态内容的网站首页,或者数据库数据驱动的’准“静态页面。这些功能可以用 Varnish 或者在一些高端的 CDN 比如 cloudflare 里面来实现,但是 acorn_cache 因为是纯 Ruby 实现可以支持到任意 Regex URL 匹配,用起来会比较方便。在类似 Heroku 这类 PaaS 环境也会很有用。 (他们的二期计划是做一个 Heroku 的 Addon 服务来托管)

请大家在功能和代码层面都提意见 - 他们现在在写系统层面的测试,应该几天后这方面会完善。

COOL! 在 Ruby Weekly 也看到推荐了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号