技术新讯 > 电子通信装置的制造及其应用技术 > Redis代理服务方法、装置及电子设备、存储介质与流程  >  正文

Redis代理服务方法、装置及电子设备、存储介质与流程

  • 国知局
  • 2024-08-02 13:52:27

本申请涉及redis代理服务,尤其涉及一种redis代理服务方法、装置及电子设备、存储介质。

背景技术:

1、redis服务器是通过redis客户端进行读写的,不同的开发语言实现了各自的客户端,应用程序需要依赖相应的客户端才能实现redis的数据访问。

2、相关技术中,当redis集群部署模式为多活多机房时,需要额外处理跨机房读写的问题,机房数据一致性及高可用问题需要在应用内解决。另外,当有大量应用节点数时,连接数暴涨,对redis服务器也造成一定压力。

技术实现思路

1、本申请实施例提供了一种redis代理服务方法、装置及电子设备、存储介质,以通过代理服务屏蔽后端redis逻辑集群的多活部署模式,将复杂的缓存数据一致性等问题在内部解决。且同时能够做好连接数收敛,能够支持多语言客户端的接入。

2、本申请实施例采用下述技术方案:

3、第一方面,本申请实施例提供一种redis代理服务方法,其中,所述方法包括:

4、响应于redis处理请求,解析得到resp协议解析数据;

5、根据所述resp协议解析数据,在命令执行层执行系统命令和/或业务命令。

6、在一些实施例中,所述命令执行层还用于

7、将读写命令分由不同的两组线程池分别处理;

8、通过提交任务到线程池进行异步执行,并根据中心写入策略对多个中心进行写入;

9、当写入失败时,生成后处理任务进行重试。

10、在一些实施例中,所述命令执行层还用于

11、将中心同步、主从切换、失败删除归类为不同的任务进行处理;

12、写命令分为前处理部分和后处理部分,前处理部分同步执行命令及失败后重试,可同时写多中心执行结束后返回结果;

13、异步执行任务同时开始执行,后处理部分根据应用写入策略配置,当中心同步开任务开启、主从切换补偿任务开启、失败删除任务开启时,则进行各任务的执行。

14、在一些实施例中,所述命令包括系统命令,所述命令执行层还用于,

15、由代理服务直接处理所述系统命令,所述系统命令至少包括如下之一:ping、auth、quit。

16、在一些实施例中,所述命令包括业务命令,所述命令执行层还用于,

17、由代理服务将业务命令传到redis服务器中执行,所述业务命令至少包括如下之一:get、set、del、hset、hget;

18、根据命令类型使用不同的命令处理类进行处理;

19、将业务命令分为读命令和写命令,通过分片路由算法,读命令涉及就近访问以及同城中心读,写命令则需要根据命令是否是幂的命令进行补偿操作。

20、在一些实施例中,所述方法还包括:预先加载支持的redis命令实例、命令拦截器以及请求处理单元,

21、所述支持的redis命令实例,用以建立redis命令实例;

22、所述命令拦截器,用以拦截命令;

23、所述请求处理单元,用以处理命令对应的请求。

24、在一些实施例中,所述方法还包括:动态感知配置,通过监听预设代理服务是否发生变化,当监听到预设代理服务发生变化时通过回调进行配置变更的处理,所述预设代理服务通过启动服务时的指定应用关联组进行配置的获取和监听。

25、第二方面,本申请实施例还提供一种redis代理服务装置,其中,所述装置包括:

26、请求处理模块,响应于redis处理请求,解析得到resp协议解析数据;

27、命令执行模块,用于根据所述resp协议解析数据,在命令执行层执行系统命令和/或业务命令。

28、第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述方法。

29、第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述方法。

30、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过响应于redis处理请求,解析得到resp协议解析数据,再根据所述resp协议解析数据,在命令执行层执行系统命令和/或业务命令。基于redis代理服务,支持多语言客户端接入和使用redis。此外,由于采用了redis代理服务,能够屏蔽后台redis部署架构,定制轻量化客户端,将多活多写及数据一致性问题在代理中统一解决。

技术特征:

1.一种redis代理服务方法,其中,所述方法包括:

2.如权利要求1所述方法,其中,所述命令执行层还用于

3.如权利要求2所述方法,其中,所述命令执行层还用于

4.如权利要求1所述方法,其中,所述命令包括系统命令,所述命令执行层还用于,

5.如权利要求1所述方法,其中,所述命令包括业务命令,所述命令执行层还用于,

6.如权利要求1所述方法,其中,所述方法还包括:预先加载支持的redis命令实例、命令拦截器以及请求处理单元,

7.如权利要求1所述方法,其中,所述方法还包括:动态感知配置,通过监听预设代理服务是否发生变化,当监听到预设代理服务发生变化时通过回调进行配置变更的处理,所述预设代理服务通过启动服务时的指定应用关联组进行配置的获取和监听。

8.一种redis代理服务装置,其中,所述装置包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~7之任一所述方法。

技术总结本申请公开了一种Redis代理服务方法、装置及电子设备、存储介质,所述方法包括响应于Redis处理请求,解析得到RESP协议解析数据;根据所述RESP协议解析数据,在命令执行层执行系统命令和/或业务命令。通过本申请屏蔽后端Redis逻辑集群的多活部署模式,将复杂的缓存数据一致性等问题在内部解决。技术研发人员:孙杉,文静,吴迪受保护的技术使用者:中国邮政储蓄银行股份有限公司技术研发日:技术公布日:2024/7/18

本文地址:https://www.jishuxx.com/zhuanli/20240801/240897.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。