Redis数据库的优化方法与系统技术方案

技术编号:27935341 阅读:10 留言:0更新日期:2021-04-02 14:15
本发明专利技术实施例公开了一种Redis数据库的优化方法,包括:获取对象数据以及所述对象数据的类型;基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间;根据所述对象数据的类型构建文件模式;通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据;将序列化处理后的数组数据存储至所述数据空间中。本发明专利技术实施例还公开了一种Redis数据库的优化系统。本发明专利技术实施例的有益效果在于:能够降低redis数据库的使用空间,进而降低内存数据的占用率。

【技术实现步骤摘要】
Redis数据库的优化方法与系统
本专利技术实施例涉及数据处理领域,尤其涉及一种Redis数据库的优化方法与系统。
技术介绍
随着项目复杂度的提高,业务量的提升,用户对性能的要求也越来越高,项目中大量使用redis,带来性能提升的同时也增加了资源的使用,redis使用量动辄上百个G十分占用资源。且针对多属性数据的存储也比较混乱。
技术实现思路
有鉴于此,本专利技术实施例的目的是提供一种Redis数据库的优化方法与系统,能够降低redis数据库的使用空间,进而降低内存数据的占用率。为实现上述目的,本专利技术实施例提供了一种Redis数据库的优化方法,包括:获取对象数据以及所述对象数据的类型;基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间;根据所述对象数据的类型构建文件模式;通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据;将序列化处理后的数组数据存储至所述数据空间中。进一步地,所述基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间包括:获取所述对象数据的类型的个数;根据所述类型的个数确定为所述对象数据分配的数据空间的容量,将所述容量的数据空间分配给所述对象数据。进一步地,所述通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据包括:通过预设的数据接口调用所述序列化工具;采用所述序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据。进一步地,所述方法还包括:预先设置多个序列化逻辑和所述序列化逻辑对应的反序列化逻辑;将所述序列化逻辑和反序列化逻辑进行关联。进一步地,所述方法还包括:将所述文件模式存储至区块链中。为实现上述目的,本专利技术实施例提供了一种Redis数据库的优化系统,包括:获取模块,用于获取对象数据以及所述对象数据的类型;分配模块,用于基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间;构建模块,用于根据所述对象数据的类型构建文件模式;处理模块,用于通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据;存储模块,用于将序列化处理后的数组数据存储至所述数据空间中。进一步地,所述分配模块还用于:获取所述对象数据的类型的个数;根据所述类型的个数确定为所述对象数据分配的数据空间的容量,将所述容量的数据空间分配给所述对象数据。进一步地,所述处理模块还用于:通过预设的数据接口调用所述序列化工具;采用所述序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据。为实现上述目的,本专利技术实施例提供了一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的Redis数据库的优化方法的步骤。为实现上述目的,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上任一项所述的Redis数据库的优化方法的步骤。本专利技术实施例提供的Redis数据库的优化方法与系统,在redis数据库为对象数据分配数据空间,再根据对象数据的类型构建文件模式,通过序列化工具按照文件模式将对象数据进行序列化处理,得到数组数据,进而将数组数据存储在redis数据库的数据空间中,由于序列化的数组数据体积小,能够降低redis数据库的使用空间,进而降低内存数据的占用率。附图说明图1为本专利技术Redis数据库的优化方法实施例一的流程图。图2为本专利技术Redis数据库的优化系统实施例二的程序模块示意图。图3为本专利技术计算机设备实施例三的硬件结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一参阅图1,示出了本专利技术实施例一之Redis数据库的优化方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。步骤S100,获取对象数据以及所述对象数据的类型。具体地,对象数据包括待序列化的对象以及该对象对应的类型,对象表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象,该属性即为类型,类型可以表示为类。类是对象的模板,对象是类的实例,类只有通过对象才可以使用。对象数据为以Key-Value模式表示的数据,Key对应对象的字段,Value对应对象的属性,获取对象数据的Value值。步骤S120,基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间。具体地,将对象数据在redis数据库中进行存储时,先在redis数据库中为对象数据分配数据空间,使用LinkedBuffer为对象数据分配一块默认大小的buffer空间。数据空间也可以理解为缓存空间,在本地存储中为对象数据设置缓存空间,将对象数据放置在该缓存空间中,使得redis数据库的使用率下降,线上功能也一切正常,系统性能也没有多大影响。在示例性地实施例中,所述步骤S120具体包括:步骤S121,获取所述对象数据的类型的个数。具体地,对象数据中,对象的类型可以为多属性类型,例如:该对象是班级,对应的多属性类型即为班级的人员,属性就包括:班级每个人的姓名、学号、年龄等。步骤S122,根据所述类型的个数确定为所述对象数据分配的数据空间的容量,将所述容量的数据空间分配给所述对象数据。具体地,对象数据序列化存储时,会相应的将类型关联存储,需要根据对象数据的实际存储长度在redis数据库中为对象数据分配一定容量发数据空间,也可以根据类型,将多属性的对象数据和单属性的对象数据分配不同的数据空间,以便于进行数据管理。步骤S140,根据所述对象数据的类型构建文件模式。具体地,根据对象数据的类型构建文件模式Schema,Schema包含:对象进行序列化的序列化逻辑;对象进行反序列化的反序列化逻辑;对象必填字段的验证;对象字段名称到字段编号的映射;对象的实例化。对于现有的对象,必须使用protostuff-runtime来生成Schema。可以通过反射来缓存、使用Schema。在数据库中,schema为一组数据结构的逻辑集合,称之为schema对象,即对象数据的schema,schema对象最常用的为表和索引。在一个schema中,每个不同类型的s本文档来自技高网...

【技术保护点】
1.一种Redis数据库的优化方法,其特征在于,包括:/n获取对象数据以及所述对象数据的类型;/n基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间;/n根据所述对象数据的类型构建文件模式;/n通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据;/n将序列化处理后的数组数据存储至所述数据空间中。/n

【技术特征摘要】
1.一种Redis数据库的优化方法,其特征在于,包括:
获取对象数据以及所述对象数据的类型;
基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间;
根据所述对象数据的类型构建文件模式;
通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据;
将序列化处理后的数组数据存储至所述数据空间中。


2.根据权利要求1所述的Redis数据库的优化方法,其特征在于,所述基于所述对象数据的类型在redis数据库中为所述对象数据分配数据空间包括:
获取所述对象数据的类型的个数;
根据所述类型的个数确定为所述对象数据分配的数据空间的容量,将所述容量的数据空间分配给所述对象数据。


3.根据权利要求1所述的Redis数据库的优化方法,其特征在于,所述通过预设的序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据包括:
通过预设的数据接口调用所述序列化工具;
采用所述序列化工具按照所述文件模式对所述对象数据进行序列化处理,得到数组数据。


4.根据权利要求1所述的Redis数据库的优化方法,其特征在于,所述方法还包括:
预先设置多个序列化逻辑和所述序列化逻辑对应的反序列化逻辑;
将所述序列化逻辑和反序列化逻辑进行关联。


5.根据权利要求1所述的Redis数据库的优化方法,其特征在于,所述方法还包括:
将所述文件模式存储至区块链中。


6.一种Redis数...

【专利技术属性】
技术研发人员:林才夫张亚博
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:广东;44

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

1