【技术实现步骤摘要】
过滤器的初始化方法、电子设备及存储介质
本专利技术涉及软件领域,具体涉及一种过滤器的初始化方法、电子设备及存储介质。
技术介绍
数据库在查询数据较慢时,为提高响应速度引入缓存技术,将数据存储在缓存中,方便直接从缓存中提取数据。查询请求的流程一般先查缓存,缓存中存在数据的话直接返回,如果缓存中没有查到数据,去数据库查询,然后再将从数据库取出的数据放入缓存。但当大量查询请求都请求不存在缓存中的数据时,导致每次请求都要去数据库去查询,失去了缓存存在的意义,甚至会造成数据库宕机,导致缓存击穿。基于以上问题,可以采用过滤器以有效地应对缓存击穿。过滤器可以采用如布隆过滤器,缓存采用如redis为例进行说明(此处不做限定)。利用redis的setbit功能将数值放进布隆过滤器中,利用getbit判断数值是否存在布隆过滤器中。在redis中创建布隆过滤器时,执行setbit函数来初始化布隆过滤器。具体的,根据setbit函数的数值来初始化布隆过滤器。当第一次执行setbit函数时,根据setbit函数的数值value,对应的将布隆过 ...
【技术保护点】
1.一种过滤器的初始化方法,其包括:/n获取过滤器的长度值;/n根据所述过滤器的长度值以及预设初始化阈值确定所述过滤器对应的渐进式初始化次数;/n根据所述渐进式初始化次数,在管道队列中依次加入与所述渐进式初始化次数对应的初始化命令;所述初始化命令包括与所述渐进式初始化次数对应的过滤器的单次初始化长度值;/n依次执行管道队列中存储的各个初始化命令,以渐进式初始化所述过滤器。/n
【技术特征摘要】
1.一种过滤器的初始化方法,其包括:
获取过滤器的长度值;
根据所述过滤器的长度值以及预设初始化阈值确定所述过滤器对应的渐进式初始化次数;
根据所述渐进式初始化次数,在管道队列中依次加入与所述渐进式初始化次数对应的初始化命令;所述初始化命令包括与所述渐进式初始化次数对应的过滤器的单次初始化长度值;
依次执行管道队列中存储的各个初始化命令,以渐进式初始化所述过滤器。
2.根据权利要求1所述的方法,其中,所述获取过滤器的长度值进一步包括:
根据所述过滤器待存储对象数量和/或错误率允许值确定所述过滤器的长度值。
3.根据权利要求1所述的方法,其中,所述预设初始化阈值根据为所述过滤器提供初始化服务的缓存服务器进行设置;所述预设初始化阈值与所述缓存服务器的配置参数、执行性能和/或处理数据量对应。
4.根据权利要求1-3中任一项所述的方法,其中,所述依次执行管道队列中存储的各个初始化命令,以渐进式初始化所述过滤器进一步包括:
根据管道队列中所述初始化命令的加入顺序依次执行管道队列中存储的各个初始化命令;
执行完成管道队列中所有初始化命令后,完成渐进式初始化所述过滤器。
5.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
判断触发所述过滤器的渐进式初始化的进程是否获取执行锁;
若是,执行所述根据所述过滤器的长度值以及预设初始化阈值确定所述过滤器对应的渐进式初始化次数的步骤;
在所述依次执行管道队列中存储的各个初始化命令,以渐进式初始化所述过滤器之后,所述方法还包括:
将所述执行锁持久化处理。
6.根据权利要求1-5中任一项所述的方法,其中,所述方法还包括:
判断所述过滤器的长度值是...
【专利技术属性】
技术研发人员:王振翼,
申请(专利权)人:掌阅科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。