【技术实现步骤摘要】
一种Redis代理服务实现方法、系统、电子装置及计算机存储介质
[0001]本专利技术涉及代理服务
,具体而言,涉及一种种
Redis
代理服务实现方法
、
系统
、
电子装置及计算机存储介质
。
技术介绍
[0002]一般应用为了更好的性能,会使用
Redis
作为缓存,避免直接操作
I/O
的性能损耗,
Redis
是一个开源
、
支持网络
、
基于内存的
key
‑
value(
键
‑
值对
)
数据库
。
传统的应用基本是分散部署在各自服务器,每个项目都独立部署
Redis
集群为单独的项目应用服务
。
在云原生架构成熟推动推动应用服务上云背景下,传统应用使用
Redis
的方式,就暴露出重复建设
、
管理碎片化
、
资源浪费不能共享等缺点
。
[0003]在实际应用中,在云原生环境,集中管理应用服务,需要一个透明的
、
多租户的
、
能全局管理分配
Redis
的代理服务,来支持云原生环境的应用服务更容易和更节省资源使用
Redis
作为缓存的功能
。
技术实现思路
[0004]有鉴于此,本专利技术实施例的 ...
【技术保护点】
【技术特征摘要】
1.
一种
Redis
代理服务实现方法,其特征在于,所述方法包括:
S1
,以
TCP
长连接方式连接到
Redis
代理服务端,并通过发出
ping
请求检测应用服务端与
Redis
代理服务端网络连接是否成功;
S2
,向
Redis
代理服务端发送认证请求报文,并创建第一请求对象,如果认证成功,返回认证成功报文至应用服务端;
S3
,创建第二请求对象,所述第二请求对象执行透传处理策略,第二请求对象包括任务执行内容;基于所述第二请求对象向
Redis
代理服务端发送任务执行请求,以使得
Redis
代理服务端执行任务内容;
S4
,任务执行完成,
Redis
代理服务端调用解码器构建状态回复对象返回到应用服务端
。2.
根据权利要求1所述的
Redis
代理服务实现方法
,
其特征在于,所述
S2
还包括:向
Redis
代理服务端发送认证请求报文时,通过编码器创建第一请求对象;所述第一请求对象执行本地处理策略;若认证成功,则基于第一请求对象处理认证业务,所述认证业务包括获取认证用户对应租户的
Redis
实例资源
。3.
根据权利要求2所述的
Redis
代理服务实现方法
,
其特征在于,所述第二请求对象执行透传处理策略,包括:通过上下文选择租户,再选择租户配置的
Redis
实例,根据负载均衡算法选择主
Redis
实例或者从
Redis
实例,并执行所述任务内容分配
、
执行;响应内容到客户端的
I/O worker
线程接收到
Redis
响应的数据报文后,调用解码器,根据报文的类型
、
长度构造状态回复对象,然后转发到业务线程封装回调任务
callbackTask
,调用回调函数,对返回的数据进行加工处理,再调用
netty
的
ChannelHandlerContext
的
writeAndFlush
推送到应用
Redis
客户端的响应
。4.
根据权利要求2所述的
Redis
代理服务实现方法
,
其特征在于,所述编码器是基于
RESP
协议执行编码操作;通过编码器创建第一请求对象,包括:创建
Request
对象;跳过不符合
RESP
请求格式,跳过空字节;确定报文命令个数的值,并保存到
Request
对象的属性
。5.
根据权利要求3所述的
Redis
代理服务实现方法
,
其特征在于,所述解码器是基于
RESP
协议执行解码操作;所述调用解码器,根据报文的类型
、
长度构造状态回复对象,包括:通过读取报文的第一个字节,根据所述第一...
【专利技术属性】
技术研发人员:窦日晓,
申请(专利权)人:深圳联友科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。