一种缓存方法以及装置与流程

文档序号:35021281发布日期:2023-08-04 14:55阅读:27来源:国知局
一种缓存方法以及装置与流程

本申请各实施例属于通信,具体涉及一种缓存方法以及装置。


背景技术:

1、在web应用系统中,经常会出现一些需要对大量数据进行计算统计分析的操作,而这些数据的实时性要求并不高。

2、在传统的restful接口下,由于几乎不存在强类型校验,因此很容易在接口调用的函数上将计算的结果进行缓存。

3、而在使用graphql接口下,由于存在强类型校验和大量的自定义类型,对其结果和输入参数进行序列化和反序列化就会十分繁琐,因此在接口调用的函数上进行缓存就十分困难,缓存接口的缓存速度低,从而导致开发效率低下。


技术实现思路

1、为了解决现有技术存在的在接口调用的函数上进行缓存就十分困难,缓存接口的缓存速度低,从而导致开发效率低下的技术问题,本发明提供了一种缓存方法及装置。

2、第一方面,本发明提供了一种缓存方法,包括:

3、接收客户端发起的http请求,http请求中包括graphql请求;

4、响应于http请求,解析http请求以获取客户端的用户信息;

5、根据用户信息对客户端进行认证;

6、当客户端认证通过时,解析graphql请求以获取graphql请求的请求方法和请求名称;

7、根据请求方法和请求名称查询系统内部的缓存表,判断是否需要缓存graphql请求;

8、当不需要缓存graphql请求时,通过请求函数进行处理;

9、当需要缓存graphql请求时,获取graphql请求的key值,根据key值查询数据库;当数据库中存在key值时,返回key值对应的value值;当数据库中不存在key值时,通过请求函数进行处理;

10、根据请求函数的处理结果判断graphql请求是否存在错误,若是,向客户端返回请求函数的处理结果,并对请求函数的处理结果进行缓存;否则,向客户端返回错误提示。

11、第二方面,本发明提供了一种缓存装置,包括:

12、接收模块,用于接收客户端发起的http请求,http请求中包括graphql请求;

13、响应模块,用于响应于http请求,解析http请求以获取客户端的用户信息;

14、认证模块,用于根据用户信息对客户端进行认证;

15、解析模块,用于当客户端认证通过时,解析graphql请求以获取graphql请求的请求方法和请求名称;

16、判断模块,用于根据请求方法和请求名称查询系统内部的缓存表,判断是否需要缓存graphql请求;

17、处理模块,用于当不需要缓存graphql请求时,通过请求函数进行处理;

18、查询模块,用于当需要缓存graphql请求时,获取graphql请求的key值,根据key值查询数据库;当数据库中存在key值时,返回key值对应的value值;当数据库中不存在key值时,通过请求函数进行处理;

19、缓存模块,用于根据请求函数的处理结果判断graphql请求是否存在错误,若是,向客户端返回请求函数的处理结果,并对请求函数的处理结果进行缓存;否则,向客户端返回错误提示。

20、与现有技术相比,本发明至少具有以下有益效果:

21、在本发明中,根据graphql请求的请求方法和请求名称,判断是否需要缓存graphql请求,当需要缓存graphql请求时,获取graphql请求的key值,根据key值查询数据库,当数据库中存在key值时,返回key值对应的value值。当数据库中不存在key值时,通过请求函数进行处理,并对请求函数的处理结果进行缓存。如果相同的请求被频繁发起,从缓存中获取结果可以显著减少处理时间,提高响应速度。进一步地,避免了在接口调用的函数上进行缓存,而是在接口中直接进行缓存,缓存接口的缓存速度高,从而提升开发效率。



技术特征:

1.一种缓存方法,其特征在于,包括:

2.根据权利要求1所述的缓存方法,其特征在于,所述根据所述用户信息对所述客户端进行认证,具体包括:

3.根据权利要求2所述的缓存方法,其特征在于,所述对所述客户端进行jwt认证,具体包括:

4.根据权利要求1所述的缓存方法,其特征在于,所述解析所述graphql请求以获取所述graphql请求的请求方法和请求名称,具体包括:

5.根据权利要求4所述的缓存方法,其特征在于,所述使用graphqlvaildator验证器对graphql请求进行校验,具体包括:

6.根据权利要求1所述的缓存方法,其特征在于,所述根据请求方法和请求名称查询系统内部的缓存表,判断是否需要缓存所述graphql请求,具体包括:

7.根据权利要求1所述的缓存方法,其特征在于,所述获取所述graphql请求的key值具体包括:

8.根据权利要求1所述的缓存方法,其特征在于,所述根据所述请求函数的处理结果判断所述graphql请求是否存在错误,具体包括:

9.根据权利要求1所述的缓存方法,其特征在于,所述根据所述请求函数的处理结果判断所述graphql请求是否存在错误,具体包括:

10.一种缓存装置,其特征在于,包括:


技术总结
本申请实施例提供了一种缓存方法以及装置,属于通信技术领域。本申请根据GraphQL请求的请求方法和请求名称,判断是否需要缓存GraphQL请求,当需要缓存GraphQL请求时,获取GraphQL请求的Key值,根据Key值查询数据库,当数据库中存在Key值时,返回Key值对应的Value值。当数据库中不存在Key值时,通过请求函数进行处理,并对请求函数的处理结果进行缓存。如果相同的请求被频繁发起,从缓存中获取结果可以显著减少处理时间,提高响应速度。进一步地,避免了在接口调用的函数上进行缓存,而是在接口中直接进行缓存,缓存接口的缓存速度高,从而提升开发效率。

技术研发人员:余尚坤,朱文雷
受保护的技术使用者:北京长亭科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1