HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

使用 Rack::Cache 进行平滑的 HTTP 缓存

  • 2008-11-20
  • 本文字数:685 字

    阅读完需:约 2 分钟

缓存 Web 应用的方式有很多,他们通常都很复杂。随着应用基础设施的不断增加,基本的 Rails 页面缓存的管理变得越发单调乏味了。

Rails 2.2 通过 HTTP headers:last_modified 与 etag 引入了条件性GET 。Ryan Tomayko 遵循着RFC2616 中的internet 标准缓存说明引入了 Rack::Cache

Rack::Cache Rack 中间件的一部分,它通过基本的存储方式(磁盘、堆及 memcache)与针对缓存策略的配置系统实现了 RFC2616 中的大多数缓存特性。它可与任何使用 Rack 的 Ruby web 框架协作良好,同时它也通过了 Ruby 1.8.6 及 1.8.7 的测试。

其部分设计的灵感来源于 Python 的缓存框架 Django

Rack::Cache 扮演着网关代理( Varnish Squid )的角色,我们可以轻松使用它。它支持基于过期(expiration-based)的缓存、验证模型及各种 header 字段。

正如 Ryan King所述,如果你的应用真的需要它的话,你可以平滑地移植到真正的网关代理上:

一旦应用变得大而复杂时,你就需要使用一个像 squid 或者 varnish 这样的 http 反向代理缓存,然而从 rails 式的页面缓存到 HTTP 缓存的转变不是那么容易的。你不得不对部署和应用进行大面积的更改。这有点不爽。 借助于 Rack::Cache,你只需改变部署即可。你甚至可以增量完成它。你可以首先通过 Rack::Cache 在堆中进行缓存,然后转换到文件系统,最后到 memcache 中。当到达其范围极限时,你可以在应用前增加 squid 或者 varnhish,然后移除 Rack::Cache。对于部署来说,每一步只有一个主要的变化,这比在单独的操作中掺杂着几个大的变化要容易的多。

看看 Ryan 即将发布的基准将会很有意思。

查看英文原文: Adobe MAX Day 1 Brings AIR 1.5 and Flex 3.2

2008-11-20 11:16883
用户头像

发布了 88 篇内容, 共 262.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

GPU深度学习性能的三驾马车:Tensor Core、内存带宽与内存层次结构

Baihai IDP

人工智能 程序员 AI gpu LLM

服务器集群技术有哪几种类型

Geek_f19a80

服务器

2024深圳电子展,加快粤港澳电子信息发展,重点打造湾区经济

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

关于Nuxt.js 服务端组件的使用

秃头小帅oi

HarmonyOS振动效果开发指导

HarmonyOS开发者

HarmonyOS

05 | 数组:为什么很多编程语言中数组都从0开始编号

鲁米

Tomcat 配合虚拟线程,一种新的编程体验

越长大越悲伤

Java springboot 虚拟线程

JVM C1、C2编译器

FunTester

重磅签约!美团携手用友推进数智化升级

用友BIP

企业数智化

08 | 栈:如何实现浏览器的前进和后退功能

鲁米

一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题

CnosDB 科技春晚暨CnosDB 2.4.0 Milky Way发布会

CnosDB

开源 时序数据库 CnosDB CnosDB2.4.0发布会

06 | 链表(上):如何实现LRU缓存淘汰算法

鲁米

细说GaussDB(DWS)的2种查询优化技术

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

拼版不合理案例详解

华秋电子

走进厦航,体验智能会计时代的业财融合

用友BIP

智能会计 业财融合

【FAQ】运动健康服务端侧数据常见问题及解答

HarmonyOS SDK

HMS Core

07 | 链表(下):如何轻松写出正确的链表代码?

鲁米

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

华为云开发者联盟

鸿蒙 操作系统 华为云 HarmonyOS 华为云开发者联盟

如何从 Jira 成功迁移到极狐GitLab,看这个就够了!

极狐GitLab

项目管理 DevOps gitlab 敏捷开发

对标世界一流!用友已与74家中央企业达成集团级合作!

用友BIP

一次讲清楚京东科技百亿级用户画像平台的探索和实践 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 用户画像 用户画像平台

用友与厦国会联合培训,探索智能会计时代业财融合成功模式

用友BIP

智能会计

京东面试:说说Cookie、Session和Token的区别?

王磊

Java 面试

DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队

京东科技开发者

架构 DDD 软件设计 curd

【高效视频处理】体验火山引擎多媒体处理框架 BMF

数字扫地僧

BMF

纯CSS实现炫酷背景霓虹灯文字效果

南城FE

CSS 前端 动画 交互设计

三层开发

Geek_8da502

APP开发

喜讯!华秋荣获2023中国产业数字化百强榜企业

华秋电子

iOS代码混淆工具

雪奈椰子

Amazon CodeWhisperer 正式发布可免费供个人使用

亚马逊云科技 (Amazon Web Services)

人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

使用Rack::Cache进行平滑的HTTP缓存_Ruby_Sebastien Auvray_InfoQ精选文章