[发明专利]一种自定义hash防止缓存穿透的方法及系统在审
| 申请号: | 202111078103.6 | 申请日: | 2021-09-15 |
| 公开(公告)号: | CN113792050A | 公开(公告)日: | 2021-12-14 |
| 发明(设计)人: | 刘德建;叶伟;陈宏展 | 申请(专利权)人: | 福建天晴数码有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
| 代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
| 地址: | 350000 福建省福州市君竹路83*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 自定义 hash 防止 缓存 穿透 方法 系统 | ||
本发明提供了一种自定义hash防止缓存穿透的方法,所述方法包括以下步骤:步骤S1、准备多个不同的hash函数,生成多个不同的hash值来标识商品;步骤S2、根据商品的商品码得到需要hash函数次数n;步骤S3、循环执行n次hash函数得到对应的n个hash值;步骤S4、判断n个hash值是否存在bigset二进制数组中;步骤S5、读取商品redis缓存;步骤S6、读取商品数据库;步骤S7、将商品数据库中的商品数据存入redis缓存中;步骤S8、返回商品数据信息给用户,从而实现解决缓存穿透给缓存和数据带来的流量压力;本发明能够通过hash函数生成多个hash值,来表示数据是否存在,有效的解决缓存穿透给缓存和数据库带来流量压力。
技术领域
本发明涉及计算机通讯技术领域,特别是一种自定义hash防止缓存穿透的方法及系统。
背景技术
缓存是为了缓解数据库压力而在数据库查询之前添加的一层保护层,当从缓存中查询不到我们需要的数据就要去数据库中查询。但如果规则被攻击者利用,通过仿照请求地址,不断访问不存在的数据,那么系统就会因为取不到缓存里的数据,穿透过缓存不断请求数据库,最后导致数据库崩溃,这就是缓存穿透。现有解决缓存穿透的方式是在读取不到数据库中的数据时存储一个空标识null到缓存中,如果在缓存中取到null即代表数据不存在,则不继续读取数据库,直接返回数据为空。但这个方法虽然避免查询穿透至数据库,但会导致缓存中存储大量无用的null,造成资源浪费。
发明内容
为克服上述问题,本发明的目的是提供一种能够通过hash函数生成多个hash值,来表示数据是否存在,有效的解决缓存穿透给缓存和数据库带来流量压力的方法。
本发明采用以下方案实现:一种自定义hash防止缓存穿透的方法,所述方法包括以下步骤:
步骤S1、准备多个不同的hash函数,生成多个不同的hash值来标识商品;
步骤S2、根据商品的商品码得到需要hash函数次数n;
步骤S3、循环执行n次hash函数得到对应的n个hash值;
步骤S4、判断n个hash值是否存在bigset二进制数组中;
步骤S5、读取商品redis缓存;
步骤S6、读取商品数据库;
步骤S7、将商品数据库中的商品数据存入redis缓存中;
步骤S8、返回商品数据信息给用户,从而实现解决缓存穿透给缓存和数据带来的流量压力。
进一步的,所述步骤S1进一步具体为:准备多个不同的hash函数,增加生成的hash值,多个不同的hash值来标识一个商品是否存在,hash函数得出的值不同,表示hash函数的种子seed不同。
进一步的,所述步骤S2进一步具体为:根据用户的访问地址得到商品码,用商品码进行hash函数得到数值,调用hash函数,传入hash函数的种子,得出需要hash函数的次数。
进一步的,所述步骤S3进一步具体为:得到需要hash函数的次数后,对商品码执行hash函数的次数,得到hash函数次数的hash值。
进一步的,所述步骤S4进一步具体为:判断n个hash值是否存在bigset二进制数组中,是,则进入步骤S5,否,则返回用户数据不存在。
进一步的,所述步骤S5进一步具体为:得到商品码存在,组织商品的缓存key密钥,执行读取redis缓存命令,商品码存在返回用户商品数据。
进一步的,所述步骤S6进一步具体为:读取redis缓存,判断商品数据是否存在redis缓存中,是,则获取商品数据,否,则执行spl语句,得到商品数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴数码有限公司,未经福建天晴数码有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111078103.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人工智能信道编解码方法与装置
- 下一篇:物料调度方法、装置和存储介质





