You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Apollo分页查询使用了缓存,但仍然从服务器获取数据(尽管查询变量的缓存已存在)

这个问题的原因在于Apollo客户端默认情况下只缓存完整的查询结果数据,而不是缓存查询的变量参数。因此,即使您从缓存中获取了数据,客户端仍然需要从服务器获取数据来填充变量参数。

要解决这个问题,需要使用Apollo缓存的一些高级技巧。具体来说,您需要为每个查询添加唯一的查询标识符(query identifier),并使用它来有效地缓存查询变量。以下是一个示例查询:

query ProductList($first: Int!, $after: String) @cacheControl(maxAge: 300) {
  products(first: $first, after: $after) {
    pageInfo {
      endCursor
      hasNextPage
    }
    edges {
      cursor
      node {
        id
        name
        price
      }
    }
  }
}

在这个查询中,我们可以看到@cacheControl指令用来定义查询结果的缓存策略。而在查询的本体中,我们定义了两个带有值的变量(firstafter)。为了缓存这个查询,我们需要为每个查询创建唯一的标识符。例如:我们可以使用查询名称、查询哈希或任何其他唯一标识符,来标识每个查询。

import { ApolloClient, gql } from '@apollo/client'

const QUERY_NAME = 'ProductList'
const QUERY_HASH = '7ccc9de839678350d2c0cb25382b77e0'

const client = new ApolloClient({
  cache: new InMemoryCache(),
  uri: '/graphql',
  queryDeduplication: false,
  defaultOptions: {
    // 默认情况下,设置每个查询的缓存key
    watchQuery: {
      fetchPolicy: 'cache-and-network',
      nextFetchPolicy
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

2022技术盘点之平台云原生架构演进之道|社区征文

同时进行业务数据备份恢复和安全审计;- 系统层:通过对云服务器进行系统安全加固,漏洞补丁管理,云主机安全和云防火墙,确保系统安全。## 三 DevOpsSmartOps平台从DevOps到SecDevOps的演进之路。### 3.1 DevOp... 数据的流向,帮助全员建立安全模型,快速定位安全问题,及提升团队安全意识;- 第二阶段:安全扫描(DevOps集成安全),扫描阶段评估代码以确保其安全且没有安全漏洞。此处包括手动和自动代码审查。在此步骤中,使用了 lin...

海量笔记@在云上,如何搭建属于自己的全文搜索引擎 Web应用-个人站点 | 社区征文

**附注:** 从上述可知,当前云主机的发行版本为CentOS,当然,若是对于系统访问并发高,业务数据量非常之大的话,除了系统前后台代码本身质量优化之外,服务器配置(物理机or虚拟机or云主机)还可选择更高配些! Ok,n... 查询防火墙已开放端口firewall-cmd --list-ports```接着,ssh登录至云主机,配置好Java环境变量, ```安装包:jdk-8u171-linux-x64.tar.gz解压到:/usr/下,为/usr/jdk1.8.0_171sudo tar zxvf jdk-8u171-linu...

MySQL 8.0:新的身份验证插件(caching_sha2_password)

也就是说如果两个用户帐户使用相同的密码,那么经过 mysql\_native\_password 转换后在 mysql.user 表得到的哈希值相同。尽管有 hash 值也无法得到实际密码信息,但它仍然告诉这两个用户使用了相同的密码。为了避免... 但安全连接和多轮 hash 转换需要在认证过程中的时间更长。为了克服这些限制,从 MySQL 8.0.3 开始,引入了一个新的身份验证插件 caching\_sha2\_password。从 MySQL 8.0.4 开始,此插件成为 MySQL 服务器的新默认...

替换 Spring Cloud,使用基于 Cloud Native 的服务治理

携程开源的 Apollo),Kubernetes 则有 ConfigMap、Secret 等,它本身也有配置能力,但是比较弱。Kubernetes 的优势在于它的组件和整个系统之间的交融度比较高,但在 Spring Cloud 里可能是所有组件都要去兼容 Spring C... 但不太好用。一些个性化的需求比如配置中心的权限管理和热加载,Spring Cloud Config Server 本身不支持,需要做二次开发。对于 Kubernetes,可以通过 ConfigMap 或者 Secret 按照更加原生的方式以环境变量、文件或...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Apollo分页查询使用了缓存,但仍然从服务器获取数据(尽管查询变量的缓存已存在) -优选内容

2022技术盘点之平台云原生架构演进之道|社区征文
同时进行业务数据备份恢复和安全审计;- 系统层:通过对云服务器进行系统安全加固,漏洞补丁管理,云主机安全和云防火墙,确保系统安全。## 三 DevOpsSmartOps平台从DevOps到SecDevOps的演进之路。### 3.1 DevOp... 数据的流向,帮助全员建立安全模型,快速定位安全问题,及提升团队安全意识;- 第二阶段:安全扫描(DevOps集成安全),扫描阶段评估代码以确保其安全且没有安全漏洞。此处包括手动和自动代码审查。在此步骤中,使用了 lin...
海量笔记@在云上,如何搭建属于自己的全文搜索引擎 Web应用-个人站点 | 社区征文
**附注:** 从上述可知,当前云主机的发行版本为CentOS,当然,若是对于系统访问并发高,业务数据量非常之大的话,除了系统前后台代码本身质量优化之外,服务器配置(物理机or虚拟机or云主机)还可选择更高配些! Ok,n... 查询防火墙已开放端口firewall-cmd --list-ports```接着,ssh登录至云主机,配置好Java环境变量, ```安装包:jdk-8u171-linux-x64.tar.gz解压到:/usr/下,为/usr/jdk1.8.0_171sudo tar zxvf jdk-8u171-linu...
最新动态(2024年前)
导致UI展示错乱 权限和指标上线获取用户权限信息修改 2023年3月09日 V2.4.2版本 白名单管理,实验和feature白名单的个数限制放到500 2023年3月02日 V2.4.1版本 创建父子实验时忽略父实验关联的feature信息 测试用... 2022年10月11日 V2.1.1版本 迭代说明: 定时任务缓存同期群报告数据支持app粒度开关 分流bugfix:修复profile查询逻辑错误 2022年09月22日 V2.0.2版本 迭代说明: 创建指标dsl算子增加属性类型 分流和调度:数据加载...
新功能发布记录
2024-05-14 抢占式实例类型的节点池底层使用弹性伸缩 【邀测·申请试用】抢占式实例类型的节点池底层使用云服务器侧弹性伸缩(Auto Scaling)服务,统一容器服务节点池底层到基于 Auto Scaling 服务。 华北 2 (北京) 2024-05-13 无 华南 1 (广州) 2024-05-13 华东 2 (上海) 2024-05-14 容器使用与节点相同的时区 容器(Container)使用节点本地所属时区的 CST(Central Standard Time)时区。解决了获取系统时间用于日志记录、数据库存...

Apollo分页查询使用了缓存,但仍然从服务器获取数据(尽管查询变量的缓存已存在) -相关内容

替换 Spring Cloud,使用基于 Cloud Native 的服务治理

携程开源的 Apollo),Kubernetes 则有 ConfigMap、Secret 等,它本身也有配置能力,但是比较弱。Kubernetes 的优势在于它的组件和整个系统之间的交融度比较高,但在 Spring Cloud 里可能是所有组件都要去兼容 Spring C... 但不太好用。一些个性化的需求比如配置中心的权限管理和热加载,Spring Cloud Config Server 本身不支持,需要做二次开发。对于 Kubernetes,可以通过 ConfigMap 或者 Secret 按照更加原生的方式以环境变量、文件或...

创建和部署托管应用(JAR /WAR)

可单击右侧的 版本号使用时间戳,自动生成版本号。 弹性容器实例 是否以弹性容器实例方式部署应用。使用该方式部署应用,无需管理底层云服务器等基础设施,只需提供镜像即可运行容器,并为实际消耗的资源付费。计费详... 主要用于解决 URL 的请求参数中存在中文等特殊字符时出现的乱码问题。 环境变量 配置项 说明 环境变量 按需配置环境变量。环境变量的信息会注入应用运行的环境中,以便在运行时动态地配置应用程序。单击 + 环境变...

初始化客户端(Go SDK)

AKSK 信息可从环境变量获取,配置方式,请参见配置访问凭证。 go package mainimport ( "fmt" "os" "github.com/volcengine/ve-tos-golang-sdk/v2/tos")func main() { var ( ak = os.Getenv("T... 配置代理服务器TOS Go SDK 支持设置 HTTP 协议代理服务,通过 NewProxy 新建 HTTP 代理,如果是需要账号密码的方式,可以通过 Proxy 的 WithAuth 的方式进行设置账户和密码,获取到 Proxy 后可以通过 WithProxy 设置。...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

创建和部署托管应用(容器镜像)

可单击右侧的 版本号使用时间戳,自动生成版本号。 弹性容器实例 是否以弹性容器实例方式部署应用。使用该方式部署应用,无需管理底层云服务器等基础设施,只需提供镜像即可运行容器,并为实际消耗的资源付费。计费详... 环境变量 配置项 说明 环境变量 按需配置环境变量。环境变量的信息会注入应用运行的环境中,以便在运行时动态地配置应用程序。单击 + 环境变量,输入环境变量的 key 和 value。 健康检查当前为存活检查:检查容器...

初始化客户端(C++ SDK)

AKSK 信息可从环境变量获取,配置方式,请参见配置访问凭证。 C++ include "TosClientV2.h"using namespace VolcengineTos;int main(void){ // 初始化 TOS 账号信息 // Your Region 填写 Bucket 所在 Region... 是否进行 CRC 数据校验等参数。使用 C++ SDK 发起请求时,您需要初始化一个 TosClient 实例,并根据需要修改 ClientConfig 的默认配置项。 配置 STS如果您不希望透露长期使用的密钥信息,您可以通过 STS 服务,创建一个...

电商场景下 ES 搜索引擎的稳定性治理实践

这些结果通常是直接从索引中检索的,并且在查询时可能会使用缓存来提高性能。一旦查询完成,ES 会将结果缓存在内存中,以便稍后进行排序、分页等操作。这样,在后续的请求中,如果只需要访问缓存中的数据,可以避免重新计算和访问磁盘,从而减少了 CPU 的消耗。相比之下,Scroll API 在处理流量时不会使用缓存。它的工作方式是创建一个游标(Cursor),并在服务器端维护一个快照,以便在后续的请求中能够继续从上一个请求的位置继续返回结果。...

大前端工程化的实践与理解 | 社区征文

再通过闭包(从某种角度上看,闭包简直就是一个天生解决数据访问性问题的方案),将需要对外暴露的数据和接口输出。我们称之为**IIFE 模式**```const module = (function(){ // ... 声明各种变量、函数都不会污... 会被缓存,之后都从缓存中直接读取结果**2. 模块定义** 在模块中,对应引入的功能,上下文提供了`exports` 对象用于导出当前模块的方法或者变量,并且它是唯一导出的出口。- 在 Node 中,一个文件就是一个模块。在...

替换 Spring Cloud,使用基于 Cloud Native 的服务治理

携程开源的 Apollo),Kubernetes 则有 **ConfigMap** 、 **Secret** 等,它本身也有配置能力,但是比较弱。Kubernetes 的优势在于它的组件和整个系统之间的交融度比较高,但在 Spring Cloud 里可能是所有组件都要去兼... 但不太好用。一些个性化的需求比如 **配置中心的权限管理和热加载** ,Spring Cloud Config Server 本身不支持,需要做二次开发。对于 Kubernetes,可以通过 ConfigMap 或者 Secret 按照更加原生的方式以环境变量...

创建和部署托管应用(二进制包)

可单击右侧的 版本号使用时间戳,自动生成版本号。 弹性容器实例 是否以弹性容器实例方式部署应用。使用该方式部署应用,无需管理底层云服务器等基础设施,只需提供镜像即可运行容器,并为实际消耗的资源付费。计费详... 环境变量 配置项 说明 环境变量 按需配置环境变量。环境变量的信息会注入应用运行的环境中,以便在运行时动态地配置应用程序。单击 + 环境变量,输入环境变量的 key 和 value。 健康检查当前为存活检查:检查容...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询