首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接基于“`array`”,这是设计中继服务器的设计风格指南吗?

连接基于“`array`”,这是设计中继服务器的设计风格指南吗?
EN

Stack Overflow用户
提问于 2016-01-29 05:38:10
回答 1查看 364关注 0票数 1

connection/arrayconnection.js中,似乎所有的函数都倾向于使用array

例如:offsetToCursor是生成游标的唯一方法。这是否意味着这是我必须遵循的设计模式,还是意味着在使用array.If im计划使用Mongodb时,我应该自己生成游标,是否应该使数据库接口像一个静态数组?

顺便说一下:

作为一个网络发展的新手,我有点困惑如何实现一个合格的中继服务器。

是否有设计图形all中继服务器的指南,我应该一直遵循graphql-relay-js中的哪个数据库Facebook与中继服务器一起使用吗?mysql还是?

我不确定在这里问这是否合适,但图形on中继-js的主题很少出现在网上。

非常感谢,原谅我的无礼。

代码语言:javascript
复制
var PREFIX = 'arrayconnection:';
/**
 * Creates the cursor string from an offset.
*/
export function offsetToCursor(offset: number): ConnectionCursor {
    return base64(PREFIX + offset);
}

补充问题:

也许我可以从developers.facebook.com/docs/graph那里得到一些想法。

似乎应该为分页查找做一个数组样式的缓存(不确定这一点)。但是图形api看起来与graphql中继js有点不同(图形api仍然是旧restful风格的一部分吗?)

图形api和graphql中继js之间的关系是什么?graphql中继js是facebook中设计graphql服务器的通用设计指南吗?非常感谢!请给我一些提示

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-29 07:21:32

连接是一种设计模式,如果您希望中继执行有效的分页,架构可以实现该模式。如何在后端实现它是一个实现细节。它可能得到数组之类的支持,也可能没有(想想像Facebook上无限滚动的新闻提要,它是由一个非常复杂的后端服务排名的:这显然不是一个数组的支持)。我们提供了arrayconnection.js模块,以演示如何在数据源具有类似数组的特性的情况下做到这一点。如果它没有或者不能有效地转换成它,那么最好从头开始实现一些东西。

游标是不透明的标识符。如果使用数组源或典型的数据库后端(如MySQL),则可以使用数组索引或某种主键,但细节也是特定于实现的,应该选择适合后端。唯一的要求是游标应该对服务器上需要的任何信息进行编码,以便能够在(或之前)返回下一页的结果。

graphql-relay-js只是一个模块集合,为在JavaScript中构建与中继兼容的GraphQL模式提供了一些帮助。模式为您的数据提供了统一的接口,但是实际的底层存储可以是您想要插入的任何东西( MySQL数据库、内存中的对象、REST服务)。对于简单的示例,请查看Relay中的目录。为了说明如何将模式放在非传统数据库的前面,是一个模式示例,该模式利用Redis中的索引和memcached中的缓存数据从Git中读取其数据。

远离Developers.facebook.com/docs/graph;尽管名称中有“图”,但这是一件完全不同的事情,与中继使用的GraphQL层次查询语言无关。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35077630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档