首页 > 其他分享 >absinthe dataloader 简单说明

absinthe dataloader 简单说明

时间:2024-01-08 18:02:46浏览次数:28  
标签:dataloader absinthe Dataloader db loader source 简单 Organization

dataloader 核心是为了解决graphql 对于后段服务的频繁调用,absinthe 基于graphql的dataloader 实现了elixir 版本的

参考使用

  • 代码
source = Dataloader.Ecto.new(MyApp.Repo)
 
# setup the loader
loader = Dataloader.new |> Dataloader.add_source(:db, source)
 
# load some things
loader =
  loader
  |> Dataloader.load(:db, Organization, 1)
  |> Dataloader.load_many(:db, Organization, [4, 9])
 
# actually retrieve them
loader = Dataloader.run(loader)
 
# Now we can get whatever values out we want
organizations = Dataloader.get_many(loader, :db, Organization, [1,4])

 

简单说明: 上边使用了Dataloader 查询数据库的数据,对于数据的查询,可以一个查询就能解决Organization 查询1,4,9 id 的问题
目前dataloader 包含了两类source,ecto 的以及kv 的

参考资料

https://hexdocs.pm/absinthe/dataloader.html
https://github.com/graphql/dataloader
https://hexdocs.pm/dataloader/2.0.0/Dataloader.KV.html

标签:dataloader,absinthe,Dataloader,db,loader,source,简单,Organization
From: https://blog.51cto.com/rongfengliang/9148239

相关文章

  • absinthe elixir 的graphql 框架简单试用
    absintheelixir的graphql框架包含的特性graphql草案的完整实现插件化设计异步字段解析以及批量解析,同时支持插件化的解析支持安全包含了基于GraphiQL的playground项目测试基于了phoenix框架创建phoenix项目mixphx.newabsinthe_phx添加sqliteecto依赖默认phoenix使用了......
  • 新能源趋势下一个简单的数仓项目,助力理解数仓模型
    1.立项背景目前国家政策的主导之下,新能源相关项目和公司的竞争愈演愈烈,很多新能源公司开始大规模的布局数仓,来从自己的产生的大量的数据中提取价值,进而在新能源市场有自己的一席之地。那么本项目就是以此为背景,结合spark sql,为大家从0到1构建一个“麻雀虽小五脏俱全”的项目这里假......
  • 一文教你小程序分包,简单易学!
    前言没有理论,只有实操,用最直接的方式来了解和使用小程序分包。文章偏向使用taro来模拟小程序分包配置,在原生小程序中也是几乎差不多的配置方式。为什么要有小程序分包?因为上传小程序打包以后的代码包不可以超过2M。但我们在开发小程序的时候需要加载某些依赖或者一下静态图片,代码包......
  • 简单的js加密练习(js逆向)
    Spiderbuf-Python爬虫练习场直接开发者工具检查,然后查找加载这个的文件位置。没有载荷但是有个加密的链接,这是我们得想一下,这个加密绝对是可解的加密,不然服务器怎们知道是什么请求呢,所以我们先使用解密工具验证。直接找到,看来是base64加密,但是后谜案还有一串字符,我们可以猜测一下这......
  • 猿人学12 13 简单的js逆向
    解题过程通过网络抓包工具找到请求页 观察参数,我们会发现中间有一个m是被加密过的由于请求是ajax请求直接进行xhr断点找到m被加密的位置我们发现他的加密是使用btoa函数将页数和yuanrenxue结合加密的。而这个函数在js中是一个内置函数,是通过编码的方式进行加密,所以只需要在js文件......
  • 基于Go语言的简单网络爬虫示例:获取智联招聘网页内容
    发起HTTP请求:使用Go的net/http包发起HTTP请求以获取网页内容。解析HTML内容:使用HTML解析器(如Go的golang.org/x/net/html包)来解析网页内容,找到你感兴趣的信息。提取目标数据:通过使用正则表达式或者更好的选择是HTML解析库来提取所需信息。存储或处理信息:将提取的信息存储到文件、数......
  • HarmonyOS的简单介绍
    鸿蒙系统(HarmonyOS)是华为自主研发的一款面向全场景的分布式操作系统。其底层逻辑主要包括以下几个方面:分布式架构:鸿蒙系统采用了分布式架构设计,可以将不同的设备和服务进行高效整合。通过分布式技术,鸿蒙系统可以实现跨平台的功能,使得应用在不同的设备上能够获得一致的体验。分布式......
  • Android 期末大作业 - 简单计算器,一键运行
    项目介绍项目功能界面预览项目备注1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程......
  • Vuex与Vuex-Class的底层原理简单实现
    vuex-class是在class-component中使用vuex的辅助工具。学习任何技术栈的使用,最透彻的掌握方法就是去简单实现一下,下面先简单实现一下vuex,然后基于我们自己实现的vuex再去实现一个vuex-class,彻底搞定vuex-class的使用。首先回忆一下vuex的使用(配置)方法,首先我们需要在某个位置执行Vue......
  • mysql如何进行简单的分析查询
    在MySQL中进行简单的分析查询通常涉及使用一些聚合函数和条件筛选来获取有关数据集的汇总信息。以下是一些常见的分析查询示例:计算平均值:SELECTAVG(column_name)ASaverage_valueFROMtable_name;计算总和:SELECTSUM(column_name)AStotal_sumFROMtable_name;计算最大值和最......