本申请实施例提供了一种数据存储方法
【技术实现步骤摘要】
数据存储方法、装置、设备及存储介质
[0001]本申请实施例涉及计算机
,尤其涉及一种数据存储方法
、
装置
、
设备及存储介质
。
技术介绍
[0002]在应用程序多元化
、
功能丰富化以及数据结构多样化的情况下,数据存储的相关设计也随之变化
。
传统关系型数据库仅支持表单类型的结构化数据存储和访问能力,而对于层次型对象
、
图片影像等半结构化与非结构化数据管理无能为力
。
[0003]随着应用类型的多样化和存储成本的降低,单一数据类型已经无法满足许多综合性业务平台的需求
。
业界有不少典型的数据库
API
,比如
Spring JPA、Hibernate、mongo
等,但针对多样化的需求,其存在数据结构单一,无缓存策略或缓存策略不适配等缺点
。
对于更新频繁的数据,不能做到实时入库的要求,由此造成了数据存储的瓶颈
。
技术实现思路
[0004]本申请实施例提供了一种数据存储方法
、
装置
、
设备及存储介质,实现了缓存数据的适配性处理,通过使用模型数据解决数据存储结构单一不能满足多样化需求的问题,通过实体映射的方式减少数据库中表的列定义
。
[0005]第一方面,本申请实施例提供了一种数据存储方法,该方法包括:
[0006]获取待查询数据,在缓存中查询所述待查询数据对应的指定数据;
[0007]在所述缓存中不存在所述指定数据的情况下,基于所述待查询数据通过设置的访问器对数据库表中记录的数据进行实体映射,并进行相应的反序列化处理得到对应的模型数据;
[0008]将所述模型数据添加至所述缓存中
。
[0009]可选的,所述模型数据被存储为
blob
或
json
格式,在所述获取待查询数据之前,还包括:
[0010]对所述
blob
或
json
格式的模型数据进行压缩
、
加密处理得到待序列化数据;
[0011]对所述待序列化数据进行序列化处理得到持久化存储的对象数据,将所述对象数据存储至数据库中
。
[0012]可选的,在将所述对象数据存储至数据库之后,还包括:
[0013]在所述缓存中的数据被更新的情况下,基于设置的定时保存策略,将更新的数据持久化存储至所述数据库,所述定时保存策略包括时间间隔参数
、
数据保存量参数以及执行线程参数
。
[0014]可选的,所述将更新的数据持久化存储至所述数据库,包括:
[0015]对更新的数据进行实例状态校验以及切换处理和去重处理;
[0016]基于所述实例状态校验的结果将更新的数据持久化存储至所述数据库
。
[0017]可选的,所述将所述模型数据添加至所述缓存中之后,还包括:
[0018]基于设置的容量回收策略
、
定时回收策略以及引用回收策略对所述缓存中的数据进行删除,其中,所述引用回收策略包括对缓存的数据使用的弱引用的键
、
值,或软引用的值进行数据回收的策略
。
[0019]可选的,所述将所述模型数据添加至所述缓存中之后,还包括:
[0020]基于设置的备份周期,进行预设比例的全量
、
增量以及累积量的数据备份,其中,所述预设比例基于所述缓存中当前存储的数据量动态调整
。
[0021]可选的,所述方法还包括:
[0022]在未设置访问器的情况下,在数据库中查询所述待查询数据对应的指定数据,并进行数据反馈
。
[0023]第二方面,本申请实施例还提供了一种数据存储系统,包括:
[0024]获取模块,用于获取待查询数据;
[0025]缓存查询模块,用于在缓存中查询所述待查询数据对应的指定数据;
[0026]数据库处理模块,用于在所述缓存中不存在所述指定数据的情况下,基于所述待查询数据通过设置的访问器对数据库表中记录的数据进行实体映射,并进行相应的反序列化处理得到对应的模型数据;
[0027]添加模块,用于将所述模型数据添加至所述缓存中
。
[0028]第三方面,本申请实施例还提供了一种电子设备,该设备包括:
[0029]一个或多个处理器;
[0030]存储装置,用于存储一个或多个程序,
[0031]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的数据存储方法
。
[0032]第四方面,本申请实施例还提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请实施例所述的数据存储方法
。
[0033]第五方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行本申请实施例所述的数据存储方法
。
[0034]本申请实施例中,获取待查询数据,在缓存中查询所述待查询数据对应的指定数据,在所述缓存中不存在所述指定数据的情况下,基于所述待查询数据通过设置的访问器对数据库表中记录的数据进行实体映射,并进行相应的反序列化处理得到对应的模型数据,将所述模型数据添加至所述缓存中
。
本方案实现了缓存数据的适配性处理,通过使用模型数据解决数据存储结构单一不能满足多样化需求的问题,通过实体映射的方式减少数据库中表的列定义
。
附图说明
[0035]图1为本申请实施例提供的一种数据存储方法的流程图;
[0036]图2为本申请实施例提供的另一种数据存储方法的流程图;
[0037]图3为本申请实施例提供的另一种数据存储方法的流程图;
[0038]图4为本申请实施例提供的另一种数据存储方法的流程图;
[0039]图5为本申请实施例提供的一种数据存储系统的结构框图;
[0040]图6为本申请实施例提供的一种电子设备的结构示意图
。
具体实施方式
[0041]下面结合附图和实施例对本申请实施例作进一步的详细说明
。
可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定
。
另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构
。
[0042]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序
。
应该理解这样使用的数据在适当情况下本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
数据存储方法,其特征在于,包括:获取待查询数据,在缓存中查询所述待查询数据对应的指定数据;在所述缓存中不存在所述指定数据的情况下,基于所述待查询数据通过设置的访问器对数据库表中记录的数据进行实体映射,并进行相应的反序列化处理得到对应的模型数据;将所述模型数据添加至所述缓存中
。2.
根据权利要求1所述的数据存储方法,其特征在于,所述模型数据被存储为
blob
或
json
格式,在所述获取待查询数据之前,还包括:对所述
blob
或
json
格式的模型数据进行压缩
、
加密处理得到待序列化数据;对所述待序列化数据进行序列化处理得到持久化存储的对象数据,将所述对象数据存储至数据库中
。3.
根据权利要求2所述的数据存储方法,其特征在于,在将所述对象数据存储至数据库之后,还包括:在所述缓存中的数据被更新的情况下,基于设置的定时保存策略,将更新的数据持久化存储至所述数据库,所述定时保存策略包括时间间隔参数
、
数据保存量参数以及执行线程参数
。4.
根据权利要求3所述的数据存储方法,其特征在于,所述将更新的数据持久化存储至所述数据库,包括:对更新的数据进行实例状态校验以及切换处理和去重处理;基于所述实例状态校验的结果将更新的数据持久化存储至所述数据库
。5.
根据权利要求1所述的数据存储方法,其特征在于,在将所述模型数据添加至所述缓存中之后,还包括:基于设置的容量回收策略
、
【专利技术属性】
技术研发人员:廖世谦,
申请(专利权)人:广州三七极耀网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。