【技术实现步骤摘要】
数据存储方法及装置
[0001]本公开涉及文件处理
,尤其涉及一种数据存储方法及装置。
技术介绍
[0002]Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key
‑
Value数据库。降低Redis存储所占用的内存是一个热门研究方向。在现有的redis内存降低方案中,要么不能达到内存降低的预期,要么增加了成本。
[0003]在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下技术问题:降低Redis存储内存时效果和成本不可兼顾的问题。
技术实现思路
[0004]有鉴于此,本公开实施例提供了一种数据存储方法、装置、电子设备及计算机可读存储介质,以解决现有技术中,降低Redis存储内存时效果和成本不可兼顾的问题。
[0005]本公开实施例的第一方面,提供了一种数据存储方法,包括:从目标存储器中获取待储存数据,对所述待储存数据进行分离处理,得到标识部分和数 ...
【技术保护点】
【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:从目标存储器中获取待储存数据,对所述待储存数据进行分离处理,得到标识部分和数据部分;确定所述数据部分在所述目标存储器中的第一位置,利用所述第一位置和预设分表大小计算第一分表索引,利用所述标识部分和所述第一分表索引组成表标识;确定空闲静态链表中所述表标识对应的目标分表中所述待储存数据所要存储的第二位置;从所述目标分表中的所述第二位置开始存储所述待储存数据,并在完成存储后计算所述目标分表中所述待储存数据存储结束的第三位置,利用所述第三位置更新所述空闲静态链表。2.根据权利要求1所述的方法,其特征在于,包括:在对所述待储存数据进行所述分离处理失败后,利用用户输入的信息和动态索引组成动态表标识,依据所述动态表标识在所述空闲静态链表中查找可以存储数据的分表,在找到第一个可以存储数据的分表时,结束所述查找,并将该分表作为所述目标分表,其中,所述动态索引从零开始往大于零的方向增加。3.根据权利要求1所述的方法,其特征在于,所述确定空闲静态链表中所述表标识对应的目标分表中所述待储存数据所要存储的第二位置,包括:确定所述目标分表中第一个可以存储数据的第一存储单位的第一序号以及所述第一存储单位中第一个可以存储数据的第二存储单位的第二序号;将所述第一序号和所述第一存储单位中所述第二存储单位的数量相乘,将相乘的结果加上所述第二序号,得到所述第二位置。4.根据权利要求1所述的方法,其特征在于,所述在完成存储后计算所述目标分表中所述待储存数据存储结束的第三位置,包括:在完成存储后,利用所述第二位置除以第一存储单位中第二存储单位的数量,得到第三序号;利用所述第二位置对所述第一存储单位中所述第二存储单位的数量求余,得到第四序号;根据所述第三序号和所述第四序号确定所述第三位置。5.根据权利要求1所述的方法,其特征在于,包括:在需要存储所述目标存储器中存储块中的块数据时:对所述目标存储器和所述存储块的信息进行解析,得到所述目标存储器的标识号和所述存储块的标识号;依据所述存储块的信息在所述目标存储器对应的存储表中查询存储所述存储块中数据的第四位置;在查询到所述第四位置时,利用所述第四位置除以所述预设分表大小,得到第二分表索引,利用所述第四位置对所述预设分表大小求余,得到存储偏移,利用所述第二分表索引、所述目标存储器的标识号和所述存储块的标识号组成所述表标识,根据存储偏移确定所述表标识对应的目标分表中所述块数据所要存储的第五位置;在没有查询到所述第四位置时,根据所述目标存储器的标识号和所述存储块的标识号
遍历所述空闲静态链表,以确定所述目标分表,确定所述目标分表中第一个可以存储数据的第一存储单位的第一序号以及所述第一存储单位中第一个可以存储数据的第二存储单位的第二序号,将所述第一序号和所述第一存储单位中所述第二存储单位的数量相乘,将相乘的结果加上所述第二序号,得到所述第五位置;从所述目标分表中的所述第五位置开始存储所述块数据,并在完成存储后计算所述目标分表中所述块数据存储结束的第六位置,利用所述第六位置更新所述空闲静态链表。6.根据权利要求1所述的方法,其特征在于,包括:在需要删除所述目标存储器中存储块中的块数据时:对所述目标存储器和所述存储块...
【专利技术属性】
技术研发人员:傅丽,
申请(专利权)人:重庆紫光华山智安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。