[发明专利]数据存储方法、装置及电子设备在审
申请号: | 201910352126.8 | 申请日: | 2019-04-28 |
公开(公告)号: | CN110059129A | 公开(公告)日: | 2019-07-26 |
发明(设计)人: | 吴灵 | 申请(专利权)人: | 顶象科技有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/22 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 崔振 |
地址: | 311100 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存数据库 数据存储 字符串类型 数字类型 数据结构 存储 装置及电子设备 存储数字 数据转换 内存使用率 数值存储 转换 内存 压缩 重复 应用 | ||
本发明提供一种数据存储方法、装置及电子设备,应用于Redis缓存数据库,Redis缓存数据库包括set接口,该方法包括:获取待存储的字符串类型数据;将待存储的字符串类型数据转换为对应的数字类型数据;将转换后的数字类型数据存储到Redis缓存数据库,通过set接口以intset数据结构的方式存储数字类型数据。该方法将待存储的字符串类型数据转换为数字类型数据存储时,可以对待存储的字符串类型数据进行数据的压缩,使得将转换后的数字类型数据存储到Redis缓存数据库,Redis缓存数据库进而可以通过set接口以intset数据结构的方式存储数字类型数据,可以充分利用intset数据结构内存连续,数值存储有序、无重复的特点,进而提高Redis缓存数据库的内存使用率。
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据存储方法、装置及电子设备。
背景技术
Redis是目前非常流行的基于内存的缓存数据库,在Redis提供的set接口中,包括intset和dict两种数据结构,intset数据结构的特点是:里面只能存数字,并存在一块连续的内存上,这种存储形式紧凑,内存使用量很小;dict数据结构,其内部结构相对复杂一些,其内存使用率也并不高。
现有的,将数据存入Redis数据库时,要么采用直接存入set的方式,要么通过一些压缩算法,对该数据进行处理后,再存入dict数据结构。
但现有的两种方式都存在Redis数据库内存使用率低的问题。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种数据存储方法、装置及电子设备,可以提高Redis数据库的内存利用率。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据存储方法,应用于Redis缓存数据库,所述Redis缓存数据库包括set接口,该方法包括:获取待存储的字符串类型数据;将待存储的字符串类型数据转换为对应的数字类型数据;将转换后的数字类型数据存储到Redis缓存数据库,通过set接口以intset数据结构的方式存储数字类型数据。
可选地,将待存储的字符串类型数据转换为对应的数字类型数据,包括:获取预设的哈希质数;基于预设的哈希质数,对待存储的字符串类型数据通过哈希函数进行处理,得到符合long数字类型的哈希码。
可选地,对待存储的字符串类型数据通过哈希函数进行处理,得到符合long数字类型的哈希码,包括:获取待存储字符串类型数据的字符数;根据字符数,对每一个字符通过哈希函数进行计算,得到符合long数字类型的哈希码,其中,每一个字符的哈希码的计算公式如下:
Hn=Z*Hn-1+An
其中,1≤n≤N,n为整数,N为字符数,Hn表示当前字符的哈希码,Z表示预设的哈希质数,Hn-1表示上一字符的哈希码,An表示当前字符的ASCII码。
可选地,该方法还包括:根据转换后的数字类型数据,确定Redis缓存数据库关联的待存储的字符串类型数据获取来源的数目。
可选地,哈希质数的值包括31、101及131中的任意一种。
第二方面,本发明实施例提供了一种数据存储装置,应用于Redis缓存数据库,Redis缓存数据库包括set接口,该装置包括:获取模块、转换模块和存储模块。
获取模块,用于获取待存储的字符串类型数据;转换模块,用于将待存储的字符串类型数据转换为对应的数字类型数据;存储模块,用于将转换后的数字类型数据存储到Redis缓存数据库,通过set接口以intset数据结构的方式存储数字类型数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于顶象科技有限公司,未经顶象科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910352126.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种教育资源共享系统
- 下一篇:人工智能K12教育学习内容管理系统