云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站服务器_java如何连接mysql数据库_免费申请

小七 141 0

引入Workers缓存API:让您控制如何缓存内容

在Cloudflare,我们的目标是让每个人都能更快、更安全地使用互联网。我们做到这一点的一种方法是通过缓存:我们在全球165个数据中心保存客户内容的副本。这使内容更接近用户,并减少返回源站的流量服务器。今天,我们很高兴宣布缓存工作方式的巨大变化。Cloudflare Workers现在集成了缓存API,使您能够以编程方式控制世界各地的缓存。为什么选择缓存API?弄清楚要缓存什么以及如何变得复杂。考虑一个带有购物车的电子商务站点,一个包含许多模板和数百篇文章的内容管理系统(CMS),或者一个graphqlapi。每一个元素都包含对某些用户来说是动态的元素,但对于绝大多数请求可能保持不变。在过去的8年里,我们增加了更多的功能,使我们的客户能够灵活地控制缓存中的内容。然而,我们了解到,我们需要提供的不仅仅是在仪表板中添加设置。我们的客户清楚地告诉我们,他们希望能够用代码表达他们的想法,构建我们永远无法拥有的东西想象的。怎么了工作缓存是最常见的工作API之一。fetch()始终利用强大的Cloudflare功能,如Argo和负载平衡。它还运行在我们的缓存中:我们在连接到互联网之前在本地检查内容。如果没有缓存API,使用fetch()请求的内容将作为-是。取回()将始终在小姐,那个缓存API改变了所有这些。它基于ServiceWorkers缓存API,其核心提供了三个方法:put(请求、响应)将响应放入缓存中,由请求匹配键(Request)返回先前put的给定响应()delete(Request)删除先前put的响应Cache API允许您在写入内容之前修改内容缓存。这个API释放出巨大的能量。因为worker使您能够修改请求和响应对象,所以您可以控制任何缓存行为,如TTL或缓存标记。您可以实现customer-Vary逻辑或缓存通常不可缓存的对象,如POST请求缓存API需要请求和响应,但它们不必来自外部服务器。您的工作人员可以生成存储在我们缓存中的任意数据。这意味着您可以将cacheapi用作通用的、短暂的键值存储区!案例研究:使用Cache API缓存POST请求自从我们在9月份发布了beta版之后,Cache API的使用量已经增长到每秒服务数千个请求。一个常见的用例是缓存POST请求。正常情况下,Cloudflare不认为POST请求是可缓存的,因为它们被设计为非幂等的:也就是说,当发出请求时,它们会更改服务器上的状态。然而,应用程序也可以使用POST请求向服务器发送大量数据,或者作为API的一种通用HTTP方法打电话过来一位开发人员在谈到使用缓存时是这么说的API:我们需要将一些复杂的服务器端代码迁移到边缘。我们有一个API端点,它接受具有大型主体的POST请求,但大多数情况下返回相同的数据,而不更改原始服务器上的任何内容。有了Workers和Cache API,我们能够缓存对我们知道是安全的POST请求的响应,并减少了源服务器上的大量负载。—Aaron Dearinger,边缘架构师,Garmin InternationalCaching POST requests With the Cache API很简单。下面是我们docu中的一些示例代码状态:异步函数HandlerRequest(事件){让请求=事件请求让我们回应如果(请求.方法=='发布'){让身体=等待请求.克隆().文本()let hash=等待sha256(body)let url=新url(请求.url)url.路径名="/posts"+url.路径名+散列//转换为能够缓存的GET让cacheKey=新请求(url{标题:请求.headers,方法:"获取"})让缓存=缓存.default//尝试在缓存中查找缓存键响应=等待缓存.match(缓存键)//否则,从原点获取如果(!响应){//发帖到原点响应=等待获取(请求.url,新请求)事件.等待直到(缓存.put(缓存键,响应.clone()))}}其他{响应=等待获取(请求)}返回响应}异步函数sha256(消息){//编码为UTF-8const msgBuffer=新文本编码器().encode(消息)//散列消息const hashBuffer=等待加密。微妙。摘要('SHA-256',msgBuffer)//将ArrayBuffer转换为Arrayconst哈希数组=数组.from(新Uint8Array(hashBuffer))//将字节转换为十六进制字符串常量hashHex=hashArray.map(b=>('00'+b.toString(16)).slice(-2)).join('')返回hashHex}在我们的beta版中,我们已经看到客户使用cacheapi动态缓存GraphQL查询的一部分,并存储客户数据以提高性能。我们很高兴看到你做什么!请查看Cloudflare Workers入门指南和Cache API文档,并在Workers社区论坛中告诉我们您构建了什么。