GraphQL数据存储在哪里?

GraphQL数据存储在哪里?,graphql,graphql-js,Graphql,Graphql Js,GraphQL是全新的。据我所知,它是一种API查询语言。好的,我明白了 今天阅读,GraphQL可以与DB一起使用,但它不需要DB。这后面的部分我不明白 如果没有数据库,该数据存储在哪里 来自: GraphQL并不要求实现它的应用服务器使用特定的编程语言或存储系统。相反,应用服务器利用它们的功能,将它们映射到GraphQL编码的统一语言、类型系统和理念 GraphQL响应由一个或多个字段组成。被查询的GraphQL服务的模式描述了哪些字段可用以及可以为这些字段提供哪些参数。但是,GraphQL

GraphQL是全新的。据我所知,它是一种API查询语言。好的,我明白了

今天阅读,GraphQL可以与DB一起使用,但它不需要DB。这后面的部分我不明白

如果没有数据库,该数据存储在哪里

来自:

GraphQL并不要求实现它的应用服务器使用特定的编程语言或存储系统。相反,应用服务器利用它们的功能,将它们映射到GraphQL编码的统一语言、类型系统和理念

GraphQL响应由一个或多个字段组成。被查询的GraphQL服务的模式描述了哪些字段可用以及可以为这些字段提供哪些参数。但是,GraphQL服务还必须提供代码来解析这些字段(即为其提供值)。这段代码如何获取字段的值,以及它可能会产生什么副作用,完全取决于服务

这里有一个简单的例子。假设我们有以下模式:

type Query {
  helloWorld: String
}
这样,我们就可以编写如下查询:

query {
  helloWorld
}
为了使
helloWorld
解析为除
null
以外的其他内容,我们还将为其提供一个解析器函数:

function resolve (root, args, ctx, info) {
  return "Hello world!"
}
这里,我们硬编码了将要解析的值。不过,我们可以通过多种方式获得价值。例如:

  • 从变量中读取它
  • 查询数据库或其他数据存储,如Redis
  • 从API请求它
  • 从文件系统读取它
GraphQL服务通常与数据库或某些API交互,但也有与消息队列、IMAP收件箱、区块链等交互的服务。所以你的数据几乎可以来自任何地方