首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GraphQL angular阿波罗客户端。从缓存中读取抛出错误,但对服务器的相同查询工作正常

GraphQL是一种用于API的查询语言和运行时环境,它可以让客户端精确地指定需要的数据,并且减少了网络传输的数据量。Angular是一种流行的前端开发框架,而阿波罗客户端是一个用于GraphQL的JavaScript库。

在这个问答内容中,"从缓存中读取抛出错误,但对服务器的相同查询工作正常"这句话描述了一个可能出现的问题。这种情况下,可能是由于缓存中的数据与服务器上的数据不一致导致的。

解决这个问题的方法可以是清除缓存,以确保下一次查询时从服务器获取最新的数据。另外,还可以检查缓存的实现是否存在bug,或者是否有其他因素导致缓存数据与服务器数据不一致。

对于这个问题,腾讯云提供了一些相关的产品和服务,例如:

  1. 腾讯云数据库(https://cloud.tencent.com/product/cdb):提供可靠的数据库存储服务,可以用于存储和管理数据。
  2. 腾讯云CDN(https://cloud.tencent.com/product/cdn):提供全球加速和缓存服务,可以加速数据传输并提高访问速度。
  3. 腾讯云云函数(https://cloud.tencent.com/product/scf):提供事件驱动的无服务器计算服务,可以用于处理和缓存数据。

以上是一些可能适用于解决该问题的腾讯云产品和服务,具体选择取决于实际需求和场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Meteor开发指南 — 响应式GraphQL

响应式GraphQL开发体验 大多数的繁重工作已经被响应式GraphQL库和工具完成了。所以,你只需要简单地在服务端编写GraphQL的数据模式,在客户端编写查询即可。...在客户端,你可以像平常使用GraphQL那样创建查询和调用修改。 为此,你需要使用一个客户端库响应式GraphQL。(它在背后使用Relay作为缓存处理了所有响应式的东西) 就这么简单。...仅仅部署它,并且扩展至足够的容器(或服务器)中。服务端app只是一个有着响应式GraphQL数据库驱动的express-graphql。...所以你只需要按照普通Node.js的应用部署和扩展方式进行处理。 听起来不错!那么它在哪儿处理响应式呢? 好问题。你的应用服务器并不知道响应式或如何验证错误查询。...你的应用服务器发送所有查询请求和修改到这个服务器上。 你的应用客户端会与这个失效服务器交流并且观察所有的失效记录。如果有失效记录的话,它会从GraphQL应用服务器获取数据。

1K100

REST API和GraphQL API的比较

RESTful API 使用 HTTP 方法在处理数据时执行 CRUD(创建、读取、更新和删除)过程。 为了促进缓存、AB 测试、身份验证和其他过程,标头向客户端和服务器提供信息。...主体包含客户端想要传输到服务器的数据,例如请求的有效负载。 GraphQL API GraphQL 是一种用于 API 的查询语言,也是使用现有数据完成这些查询的运行时。...表现 开发人员只需一次 API 请求即可使用 GraphQL 获取数据。为了避免数据获取不足和过度获取,灵活的样式定义了信息请求的结构,并从服务器返回相同的结构。...缓存 REST API 的所有 GET 端点都可以缓存在服务器上或通过 CDN。它们也可以由客户端存储以供经常使用,并由浏览器缓存。...GraphQL 中的任何合法答案都应该是 200,包括数据和错误响应。客户端工具将有助于更有效地管理错误。错误作为特定错误对象下的响应主体的一部分进行处理

56210
  • GraphQL最突出的架构优势是什么?

    基础架构组件的另一个主要特征是,它们不是我们项目开发工作的重心。 基础架构组件是业界信任的一系列工具,我们只需对其配置即可使其正常工作。...,我们可以使用 @client 指令来引用要基于一个客户端模式从本地缓存中获取的属性。...简化的数据获取架构,其中视图可以是任意前端框架——nerdwallet 数据图在连接的两端均有 Apollo 服务器和客户端,它可以简化获取逻辑、错误逻辑、重试逻辑、分页、缓存、optimistic UI...数据图从客户端延伸到服务器,并为现代 Web 应用程序中获取数据和更改状态时面临的最常见基础架构问题提供了答案 为了通过 GraphQL 与后端服务通信,Apollo Client 公开了几种客户端方法...API 客户端了解如何解决该请求的唯一方法是检查错误响应(指望错误消息描述了所需的信息,否则也没用)。

    2.2K20

    边缘服务的一致性、耦合和复杂性

    最为流行、功能齐全且成熟的 GraphQL 服务器端框架实现是由旧金山的一家名为 Apollo 的小型初创公司开发的。有了他们的框架,在客户端增加新功能就变得非常容易,且无需对服务器作出大量修改。...Apollo GraphQL 框架支持在 schema 中使用缓存提示注解或在解析器中动态设置,这可以通过浏览器端缓存或内存缓存或外部缓存 (如 Memcached 或 Redis) 来实现。...我相信,随着时间的推移,Apollo 风格的 GraphQL APM 监控将变得更加主流。 在 RESTful API 中,客户端指定路径,可能是查询字符串参数,可能是身份验证,仅此而已。...而在 GQL 中,客户端必须指定有效载荷是什么样子的。这种小程序增加了调用 GQL 服务的复杂性,从而增加了出现错误的可能性。这也提高了自动化测试的成本。...他的工作重点是与工程师合作,交付符合 12 Factor 标准的可扩展服务器端应用架构。

    93810

    安息吧 REST API,GraphQL 长存

    使用 GraphQL 的客户端程序可以通过其功能查询该模式。这种方法使得客户端与服务端解耦,并允许其两者独立开发和扩展。 GraphQL 请求可以是查询(读取操作)或突变(写入操作)。...GraphQL 服务器可能会受到超复杂查询的攻击,这将耗尽服务器的所有资源。查询深度嵌套关系(用户 -> 朋友 -> 朋友...),或者使用字段别名多次查询相同的字段非常容易。...操作和读取缓存需要遍历查询。尽管我们需要编写一个中间层来处理这些缓存逻辑,但是这种方式总体上比基于响应的缓存更有效率。Relay.js 便是一个采用这种缓存策略并在内部实现自动管理的框架。...我们可以使用 DataLoader 而不是直接使用 SQL 查询从数据库中读取数据,而 DataLoader 将作为我们的代理,以减少我们发送到数据库的实际 SQL 查询。...DataLoader 还将缓存响应以使其可用于相同资源的后续请求。 谢谢阅读!

    2.7K30

    我的 .NET Core 博客性能优化经验总结

    博客配图由后端从Azure Blob Storage中读取再返回前端产生双倍性能开销 前端实践 使用 bundle 避免过多请求 我相信大部分Web程序员都熟悉这一条建议,这也是最直接有效的前端性能提升方式...实际上我在公司的主要工作目前也是写angular,博客曾经的.NET Framework版的后台也用过angularjs以及angular2,经过一系列的实践表明,我博客这样的内容站用angular收益并不大...在我博客里,缓存的使用随处可见。比如文章分类、Custom Page这种不经常更新的数据,就可以缓存起来,这样就不至于每次请求都去查询数据库。...我的博客图片由于设计了抽象隔离,博客的配图并不是像访问静态资源那样直接输出到客户端,目前支持两种存储方式:Azure Blob、本地文件系统,不管哪种存储,都避免不了从对应位置读取图片,并返回给客户端显示...目前我选用的存储方式为Azure Blob。以前读取一张图片的过程是: 首次请求:服务器去Azure Blob拿图片,客户端再去网站服务器拿图片。

    3.4K10

    安全地将 Netflix 迁移到 GraphQL

    GraphQL shim 使得客户端工程师能够快速切换到 GraphQL,解决客户端方面的问题,如缓存规范化,尝试不同的 GraphQL 客户端,并在不受服务器端迁移的阻碍下研究客户端性能。...我们知道我们可以使用相同的查询和相同的输入进行测试,并始终期望得到相同的结果。 对于请求非幂等字段的 GraphQL 查询或变更,我们无法进行 Replay 测试。...Falcor API 已经成为一个逻辑复杂的单体,积累了十多年的技术债务。因此,我们必须确保重新实现的 Video API 服务器没有错误,并且与已经产品化的 Shim 服务完全相同。...我们开发了一个 Replay 测试工具,以验证幂等的 API 是否从 GraphQL Shim 正确迁移到 Video API 服务中。 它是如何工作的?...最终,我们尽可能与现有行为保持一致,因为验证客户端错误处理的鲁棒性很困难。 尽管存在这些缺点, Replay 测试仍然是我们实现大多数幂等查询的功能正确性的关键指标。

    17030

    GraphQL 是一个陷阱?

    公共 API 确实比内部 API 更通用一些,需要预测各种各样的场景调用,有时在客户端调用的公共 API 中也需要更“原始”的形式展示数据。虽然这不是 GraphQL。...3主张 3 :锁定查询功能意味着你只是在使用普通的 API,而不锁定则意味着无限的性能工作 作者谈及的“锁定”像是持久查询,这意味着让 GraphQL “打开”(客户端能执行任意查询)会导致无限的性能工作...如果需要构建预解析器或使用 GraphQL-to-SQL 的自动生成,才会用到查询中的嵌套查询和无限连接,只是在实际中不常见。 GraphQL 并不是一个通用的 Graph API。...GraphQL API,尤其是公共 API,不可能像服务器驱动的用例那样具有可预测性,因为服务器驱动的服务调用是预知并单独优化过的,简单实现的 GraphQL API 肯定会导致非常低效的数据加载。...软件架构如何“以不变应万变” 从维护性工作到软件开发革命,运维 15 年间的大逆转 点个在看少个 bug

    1K10

    Vue 备受热捧、VS Code 成主宰!2020 前端开发趋势指南,先干为敬!

    由于所有页面都是预先构建的,因此服务器不需要花费时间利用请求中的数据渲染页面,这些页面可以立即提供,并利用CDN中全局缓存的优势,尽可能迅速地将页面提供给用户。...我们可以利用 PWA 在浏览器中缓存资源,以确保页面的立即响应与离线支持。此外,在 PWA 方式中,后台工作人员还可以提供推送通知等原生功能。 甚至有人声称 PWA 可以取代原生移动应用。...、用于SSR应用程序的Next / Nuxt、用于创建服务器的生成器、免却为GraphQL编写服务器的Hasura、使用 GraphQL 代码生成器自动生成 TypeScript 类型、Webpack不断得到简化等等...GraphQL 应用程序是数据驱动的(不是端点驱动),因此客户端可以声明所需的确切数据,从服务器接收相应的JSON响应。...GraphQL 可以通过 GraphQL Code Generator 等工具读取客户端代码中的查询,并将其与架构进行匹配,以提供在整个应用程序中流动的 TypeScript 类型。

    1.6K10

    GraphQL是API的未来,但它并非银弹

    你可以将多个调用封装到一个 API 中,让它们在服务器端完成,而不是从客户端发出多个请求。此方法也可以解决过取和欠取问题,因为你可以在将数据发回客户端之前对其进行操作。...你将模式上传到模式注册中心,然后因为错误部署了 GraphQL 服务器的错误版本。如果你更改字段的类型,客户端可能就无所适从了。...8 错误处理更好 关于错误处理,作者描述了这样一个场景:与使用部分数据响应的单个 GraphQL 查询相比,客户端将不得不进行 3 次连续的 REST API 调用。...无论哪种方式,其逻辑都或多或少与 GraphQL 相同,只是位置不同。显然,REST API 用例也需要客户端中的逻辑来处理部分响应。这个逻辑与 GraphQL 用例中的逻辑几乎完全相同。...你可以使用其他工具,或者扩展 GraphQL,来获得更好的结果,例如使用 Relay 来持久化查询。要真正地从 GraphQL 文档中获得好处,你要做的不仅仅是向模式中添加描述。

    2K10

    理解 GraphQL:现代 API 查询语言的详解与实践

    GraphQL 是一种用于 API 的查询语言,以及一个用于执行查询的服务器端运行时。它允许客户端精确地请求所需的数据,避免冗余和不足。...模式定义了可以在 API 中查询的数据类型,以及类型与用户可用的操作之间的关系。 查询(Query)查询是客户端向 GraphQL 服务器发出的请求,指定客户端想要获取哪些数据。...与查询的工作原理类似,变更根据模式及其定义进行验证,然后执行相应的操作。 解析器(Resolver)每个模式中的字段都由解析器支持,解析器填充数据并确定对一组字段的响应。...版本控制在 REST 架构中,更改数据结构通常要求对 API 进行版本控制,以防止系统错误和中断服务。GraphQL 免除了版本控制的必要,因为客户端可以在查询中指定要求。...如果向服务器添加新字段,不需要这些字段的客户端则不会受到影响。 错误处理REST API 使用 HTTP 状态代码来指示请求的状态或成功与否。GraphQL 则在响应正文中与数据一起传达错误。

    11000

    写在2021: 值得关注学习的前端框架和工具库

    NodeJS NestJS,一个大而全的Node框架,就像NodeJS里的Angular,实际上作者也是受到了Angular的影响,很多装饰器都和Ng中的同名。...强大的地方在于实现了一套GraphQL的缓存方案(GraphQL不像REST API那样可以用URL作为缓存的key,它只有单个schema,要缓存必须基于Schema拍平整个数据结构,然后再基于各个field...GraphQL-Zeus,小而美的GraphQL客户端,集成了Code-Generator能力。...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...在前端领域混了这几年,总结了一套前端学习的精讲视频和学习路线,如果有对前端开发感兴趣的伙伴,不管你是想转行,或是大学生,还有工作中想提升自己能力的web前端党,欢迎大家的加入我的前端开发交流群:603985993

    2.9K10

    C# 一分钟浅谈:GraphQL 中的缓存策略

    基础概念GraphQL 是一种用于 API 的查询语言,它允许客户端精确地请求所需的数据,从而减少不必要的数据传输。GraphQL 服务器接收客户端发送的查询请求,解析并执行这些查询,最后返回结果。...缓存 是一种提高系统性能的技术,通过存储计算结果并在后续请求中重用这些结果,减少重复计算的时间和资源消耗。在 GraphQL 中,缓存可以应用于多个层面,包括客户端缓存、网络层缓存和服务器端缓存。...客户端缓存客户端缓存是最常见的缓存策略之一。在 GraphQL 中,客户端库(如 Apollo Client)通常会自动管理缓存。...当客户端发送一个查询请求时,如果缓存中已经存在相同的数据,则直接从缓存中读取,而不需要再次发送请求。...GraphQL 服务器内部实现,通过缓存查询结果来提高性能。

    13910

    C# 一分钟浅谈:GraphQL 中的缓存策略

    基础概念 GraphQL 是一种用于 API 的查询语言,它允许客户端精确地请求所需的数据,从而减少不必要的数据传输。...GraphQL 服务器接收客户端发送的查询请求,解析并执行这些查询,最后返回结果。 缓存 是一种提高系统性能的技术,通过存储计算结果并在后续请求中重用这些结果,减少重复计算的时间和资源消耗。...在 GraphQL 中,缓存可以应用于多个层面,包括客户端缓存、网络层缓存和服务器端缓存。 客户端缓存 客户端缓存是最常见的缓存策略之一。...在 GraphQL 中,客户端库(如 Apollo Client)通常会自动管理缓存。当客户端发送一个查询请求时,如果缓存中已经存在相同的数据,则直接从缓存中读取,而不需要再次发送请求。...服务器端缓存可以在 GraphQL 服务器内部实现,通过缓存查询结果来提高性能。

    10110

    使用Flask构建简单的Web应用

    优化性能与缓存在Web应用开发中,性能是一个关键因素。通过合适的优化和缓存策略,可以提高应用的响应速度。...使用@cache.cached装饰器为特定路由添加缓存,设置缓存超时时间。6. 引入日志记录与错误处理良好的日志记录和错误处理是保障应用稳定性和可维护性的重要步骤。...将哈希密码存储到数据库中,而不是明文密码。8. 单元测试与持续集成确保你的Web应用程序在各种情况下能够正常运行是至关重要的。...GraphQL APIGraphQL是一种强大的API查询语言,允许客户端灵活地请求所需的数据。使用Graphene等库,你可以在Python中轻松构建GraphQL API。...使用前端框架提升用户体验: 整合React、Vue或Angular等前端框架,提供更丰富、交互性强的用户界面。优化性能与缓存: 利用工具如Flask-Caching进行缓存管理,提高应用响应速度。

    48120

    API架构风格对比:SOAP vs REST vs GraphQL vs RPC

    RPC如何工作 客户端唤醒远端程序,序列化参数,并在消息中添加额外的信息,然后将消息发送给服务端。在接收到客户端的消息后,服务端会反序列化消息中的内容,执行请求的操作,并将结果返回给客户端。...在有状态场景中,服务端会保存接收到的信息,该过程可能比较繁重,但对于涉及多方和复杂交易的操作来说是合理的。...无状态:处理请求本身所包含的请求状态,而服务器不会存储与会话相关的任何内容 缓存 客户端-服务端架构:允许两端独立演进 应用系统分层 服务端可以给客户端提供可执行的代码 实际上,某些服务仅在一定程度上是...GraphQL如何工作 一开始,GraphQL会创建一个schema(模式),它描述了在一个GraphQL API中的所有请求以及这些请求返回的所有types。...详细的错误消息:与SOAP类似,GraphQL提供了详细的错误信息,错误信息包括所有的解析器以及特定的查询错误。 灵活的权限:GraphQL允许在暴露特定的功能的同时保留隐私信息。

    3K11
    领券