一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自定义hash防止缓存穿透的方法及系统与流程

2021-12-15 01:34:00 来源:中国专利 TAG:

技术特征:
1.一种自定义hash防止缓存穿透的方法,其特征在于,所述方法包括以下步骤:步骤s1、准备多个不同的hash函数,生成多个不同的hash值来标识商品;步骤s2、根据商品的商品码得到需要hash函数次数n;步骤s3、循环执行n次hash函数得到对应的n个hash值;步骤s4、判断n个hash值是否存在bigset二进制数组中;步骤s5、读取商品redis缓存;步骤s6、读取商品数据库;步骤s7、将商品数据库中的商品数据存入redis缓存中;步骤s8、返回商品数据信息给用户,从而实现解决缓存穿透给缓存和数据带来的流量压力。2.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s1进一步具体为:准备多个不同的hash函数,增加生成的hash值,多个不同的hash值来标识一个商品是否存在,hash函数得出的值不同,表示hash函数的种子seed不同。3.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s2进一步具体为:根据用户的访问地址得到商品码,用商品码进行hash函数得到数值,调用hash函数,传入hash函数的种子,得出需要hash函数的次数。4.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s3进一步具体为:得到需要hash函数的次数后,对商品码执行hash函数的次数,得到hash函数次数的hash值。5.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s4进一步具体为:判断n个hash值是否存在bigset二进制数组中,是,则进入步骤s5,否,则返回用户数据不存在。6.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s5进一步具体为:得到商品码存在,组织商品的缓存key密钥,执行读取redis缓存命令,商品码存在返回用户商品数据。7.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s6进一步具体为:读取redis缓存,判断商品数据是否存在redis缓存中,是,则获取商品数据,否,则执行spl语句,得到商品数据。8.根据权利要求1所述的一种自定义hash防止缓存穿透的方法,其特征在于:所述步骤s8进一步具体为:系统从bigset二进制数组中判断商品的商品码是否存在,从数据库中读取到商品数据保存至redis缓存,返回商品信息给用户。9.一种自定义hash防止缓存穿透的系统,其特征在于:包括生成模块、确定次数模块、执行模块、判断模块、第一读取模块、第二读取模块、存入模块和返回模块;所述生成模块,即准备多个不同的hash函数,生成多个不同的hash值来标识商品;所述确定次数模块,即根据商品的商品码得到需要hash函数次数n;所述执行模块,即循环执行n次hash函数得到对应的n个hash值;所述判断模块,即判断n个hash值是否存在bigset二进制数组中;所第一读取模块,即读取商品redis缓存;所述第二读取模块,即读取商品数据库;所述存入模块,即将商品数据库中的商品数据存入redis缓存中;所述返回模块,即返回商品数据信息给用户,从而实现解决缓存穿透给缓存和数据带来的流量压力。
10.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述生成模块进一步具体为:准备多个不同的hash函数,增加生成的hash值,多个不同的hash值来标识一个商品是否存在,hash函数得出的值不同,表示hash函数的种子seed不同。11.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述确定次数模块进一步具体为:根据用户的访问地址得到商品码,用商品码进行hash函数得到数值,调用hash函数,传入hash函数的种子,得出需要hash函数的次数。12.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述执行模块进一步具体为:得到需要hash函数的次数后,对商品码执行hash函数的次数,得到hash函数次数的hash值。13.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述判断模块进一步具体为:判断n个hash值是否存在bigset二进制数组中,是,则进入第一读取模块,否,则返回用户数据不存在。14.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述第一读取模块进一步具体为:得到商品码存在,组织商品的缓存key密钥,执行读取redis缓存命令,商品码存在返回用户商品数据。15.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述第二读取模块进一步具体为:读取redis缓存,判断商品数据是否存在redis缓存中,是,则获取商品数据,否,则执行spl语句,得到商品数据。16.根据权利要求9所述的一种自定义hash防止缓存穿透的系统,其特征在于:所述返回模块进一步具体为:系统从bigset二进制数组中判断商品的商品码是否存在,从数据库中读取到商品数据保存至redis缓存,返回商品信息给用户。

技术总结
本发明提供了一种自定义hash防止缓存穿透的方法,所述方法包括以下步骤:步骤S1、准备多个不同的hash函数,生成多个不同的hash值来标识商品;步骤S2、根据商品的商品码得到需要hash函数次数n;步骤S3、循环执行n次hash函数得到对应的n个hash值;步骤S4、判断n个hash值是否存在bigset二进制数组中;步骤S5、读取商品redis缓存;步骤S6、读取商品数据库;步骤S7、将商品数据库中的商品数据存入redis缓存中;步骤S8、返回商品数据信息给用户,从而实现解决缓存穿透给缓存和数据带来的流量压力;本发明能够通过hash函数生成多个hash值,来表示数据是否存在,有效的解决缓存穿透给缓存和数据库带来流量压力。库带来流量压力。库带来流量压力。


技术研发人员:刘德建 叶伟 陈宏展
受保护的技术使用者:福建天晴数码有限公司
技术研发日:2021.09.15
技术公布日:2021/12/14
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献