如何解决如何通过缓存某些字段并保留一些未缓存的方式来实现apollo-graphql-cache
我有一个类似的架构:-
type Post @cacheControl(maxAge:10){
id: ID!
body: String!
username: String!
createdAt: String!
comments: [Comment]!
likes: [Likes]!
likeCount: Int
commentCount: Int
}
这确实很好,并且直接用mongo模式映射。这样可以节省我的数据库调用。 但是现在,我希望添加一个需要单独解决的自定义字段,并且我不希望对其进行缓存。
在文档中,据说默认情况下不缓存非静态字段,因此我能够正确观察到该行为。因此,如果我的模式是:-
type Post @cacheControl(maxAge:10){
id: ID!
body: String!
username: String!
createdAt: String!
comments: [Comment]!
likes: [Likes]!
likeCount: Int
commentCount: Int
customField: SomeCustomType
}
但是,如果我查询不带customField
的Post的整个对象,我会发现apollo给了我缓存的响应。但是,如果我用customField
查询Post,那么apollo会使用解析器并为整个帖子而不是customField
给出非缓存的响应。
我不能在customField上使用@cacheControl(maxAge:0),因为我读到它在父级上设置了内部子字段的最小年龄,因此将使整个对象不被缓存。
因此,我想知道是否有办法在除customField之外的所有子字段上获取缓存的响应,并且customField应该得到解决。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。