System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于Redis数据mock的方法、存储介质及服务器技术_技高网

用于Redis数据mock的方法、存储介质及服务器技术

技术编号:40065483 阅读:9 留言:0更新日期:2024-01-16 23:21
本申请公开了一种用于Redis数据mock的方法、存储介质及服务器,涉及智能家居/智慧家庭技术领域,该方法包括:构建模拟原生Redis的模拟服务;在接收到需要模拟的目标Redis服务信息的情况下,在预先存储的Redis迁移数据中确定目标迁移数据;基于目标迁移数据,启动模拟服务以模拟目标Redis。本申请不需要重复执行Redis数据的迁移工作,可以根据输入不同的目标Redis服务信息确定不同的目标迁移数据,以模拟不同的目标Redis,提高了Redis数据mock的效率。

【技术实现步骤摘要】

本申请涉及数据测试领域,具体而言,涉及一种用于redis数据mock的方法、存储介质及服务器。


技术介绍

1、目前,在对redis(remote dictionary server,远程字典服务)数据进行mock的情况下,通常需要先将生产环境中原生redis服务器的aof(append only file)和rdb(redisdatabase)文件拷贝到本地,再由人工执行数据迁移操作。其中,aof和rdb是redis数据持久化的两种方式。在redis数据迁移完成后再分别启动redis的哨兵和主服务来对外提供redis的完整服务,以完成redis数据的mock。但是,在需要多次对redis数据进行mock的情况下,需要重复执行redis数据的迁移工作;同时,通过拷贝aof文件和rdb文件这种迁移redis数据的方式,迁移的redis数据的数据量较大,且包含了大量使用不到的数据,导致在对外提供redis的完整服务时耗时较长,使得redis数据mock的效率较低。

2、需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开实施例的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、本公开实施例提供了一种用于redis数据mock的方法、存储介质及服务器,以提高redis数据mock的效率。

3、在一些实施例中,用于redis数据mock的方法应用于模拟环境,模拟原生redis;该方法包括:构建模拟原生redis的模拟服务;在接收到需要模拟的目标redis服务信息的情况下,在预先存储的redis迁移数据中确定目标迁移数据;基于目标迁移数据,启动模拟服务以模拟目标redis。

4、可选地,构建模拟原生redis的模拟服务,包括:基于netty框架构建模拟原生redis的模拟服务;其中,模拟服务包括内置的redis命令和供内置命令使用的内存式缓存。

5、可选地,构建模拟原生redis的模拟服务,还包括:构建哨兵服务,通过哨兵服务与模拟服务相配合,以模拟原生redis的哨兵模式。

6、可选地,在预先存储的redis迁移数据中确定目标迁移数据,包括:在预先存储的redis迁移数据中,将与目标redis服务信息对应的redis迁移数据确定为目标迁移数据。

7、可选地,预先存储的redis迁移数据包括多条请求响应数据;其中,每条请求响应数据由终端设备录制的redis通信报文生成。

8、可选地,终端设备录制的redis通信报文包括终端设备和redis服务器进行通信的情况下产生的请求数据和响应数据。

9、可选地,由终端设备录制的redis通信报文生成每条请求响应数据,包括:将redis通信报文中具有对应关系的请求数据和响应数据合并成一条请求响应数据。

10、可选地,在启动模拟服务以模拟目标redis之后,还包括:在收到使用数据的请求信息的情况下,确定请求信息的类型;在请求信息为普通查询指令的情况下,根据请求信息与目标迁移数据返回执行结果;或者,在请求信息为非普通查询指令的情况下,返回模拟服务中内置命令的执行结果;其中,内置命令包括内置的redis命令。

11、可选地,目标迁移数据包括具有对应关系的目标请求数据和目标响应数据合并成的目标请求响应数据;根据请求信息与目标迁移数据返回执行结果,包括:检索目标请求响应数据;在存在目标请求响应数据与请求信息相同的情况下,返回请求信息所对应的目标请求响应数据中的目标响应数据信息;在不存在目标请求响应数据与请求信息内容相同的情况下,返回模拟服务中内置命令的执行结果。

12、在一些实施例中,存储介质包括存储的程序,其中,程序运行时执行上述的方法。

13、在一些实施例中,服务器应用于模拟环境,模拟原生redis,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行上述的方法。本公开实施例提供的用于redis数据mock的方法、存储介质及服务器,可以实现以下技术效果:

14、由于目标迁移数据是预先存储的,因此在需要多次对redis数据进行mock的情况下,该目标迁移数据可以被重复使用,不需要重复执行redis数据的迁移工作。因此,和相关技术相比,本公开实施例提供的redis数据mock的效率更高。

15、此外,本公开实施例可以根据输入不同的目标redis服务信息确定不同的目标迁移数据,以模拟不同的目标redis。由于目标迁移数据的数据量较小且更具有针对性,因此,不需要模拟完整的redis就能满足模拟需求,能够进一步提高redis数据mock的效率。

16、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

本文档来自技高网...

【技术保护点】

1.一种用于Redis数据mock的方法,应用于模拟环境,模拟原生Redis;其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,构建模拟原生Redis的模拟服务,包括:

3.根据权利要求2所述的方法,其特征在于,构建模拟原生Redis的模拟服务,还包括:

4.根据权利要求1所述的方法,其特征在于,在预先存储的Redis迁移数据中确定目标迁移数据,包括:

5.根据权利要求4所述的方法,其特征在于,预先存储的Redis迁移数据包括多条请求响应数据;其中,每条请求响应数据由终端设备录制的Redis通信报文生成。

6.根据权利要求5所述的方法,其特征在于,所述终端设备录制的Redis通信报文包括终端设备和Redis服务器进行通信的情况下产生的请求数据和响应数据。

7.根据权利要求6所述的方法,其特征在于,由终端设备录制的Redis通信报文生成每条请求响应数据,包括:

8.根据权利要求1至7任一项所述的方法,其特征在于,在启动模拟服务以模拟目标Redis之后,还包括:

9.根据权利要求8所述的方法,其特征在于,目标迁移数据包括具有对应关系的目标请求数据和目标响应数据合并成的目标请求响应数据;根据请求信息与目标迁移数据返回执行结果,包括:

10.一种存储介质,其特征在于,存储介质包括存储的程序,其中,程序运行时执行权利要求1至9中任一项所述的方法。

11.一种服务器,应用于模拟环境,模拟原生Redis,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至9中任一项所述的方法。

...

【技术特征摘要】

1.一种用于redis数据mock的方法,应用于模拟环境,模拟原生redis;其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,构建模拟原生redis的模拟服务,包括:

3.根据权利要求2所述的方法,其特征在于,构建模拟原生redis的模拟服务,还包括:

4.根据权利要求1所述的方法,其特征在于,在预先存储的redis迁移数据中确定目标迁移数据,包括:

5.根据权利要求4所述的方法,其特征在于,预先存储的redis迁移数据包括多条请求响应数据;其中,每条请求响应数据由终端设备录制的redis通信报文生成。

6.根据权利要求5所述的方法,其特征在于,所述终端设备录制的redis通信报文包括终端设备和redis服务器进行通信的情况下产生的请求数据和响应数据。<...

【专利技术属性】
技术研发人员:史维志张军
申请(专利权)人:青岛海尔科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1