[发明专利]一种缓存数据处理方法、装置、电子设备及存储介质有效
申请号: | 201811474776.1 | 申请日: | 2018-12-04 |
公开(公告)号: | CN109543080B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 方明 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/901;G06F12/123 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100080 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据处理 方法 装置 电子设备 存储 介质 | ||
本公开公开了一种缓存数据处理方法、装置、电子设备及存储介质。其中,该方法包括:生成与缓存中的缓存数据对应的基础映射表,并对所述基础映射表进行分组,得到预设数量的分组映射表,其中,所述基础映射表中包括所有缓存数据的键名和所述所有缓存数据在链表中的位置;获取数据处理请求,并确定所述数据处理请求中的目标键名;并行在各所述分组映射表中查询所述目标键名;根据查询结果以及所述数据处理请求的类型,对所述缓存中的缓存数据进行处理。本公开实施例可以通过并行在各分组映射表中查询目标键名,减少使用缓存数据的键名遍历映射表的时间,从而有效减小缓存数据读写时的延时,提高系统性能。
技术领域
本公开实施例涉及数据处理技术,尤其涉及一种缓存数据处理方法、装置、电子设备及存储介质。
背景技术
一般来说,缓存策略主要包含缓存的添加、获取和删除这三类操作。通常使用最近最少使用算法(Least Recently Used,LRU)进行缓存,其将资源按照最近访问时间组成一个链表。当一个缓存中的资源被访问时,该节点被从链表中摘下,并重新插入链表头部;当一个不在缓存中的新资源被访问时,链表末尾最久未被访问的资源被移除,新资源被插入到链表首部。内存缓存LruCache是android提供的一个缓存工具类,其算法是最近最少使用算法。
现有技术采用LruCache进行数据缓存。LruCache使用链表来保存缓存数据,使用映射表保存数据的键名和数据在链表中的位置。映射表主要用于加速查找。例如,每次读取数据时,使用数据的键名遍历映射表,判断数据是否在缓存中。若在,则通过数据在链表中的位置返回数据值;若不在,返回相应的提示信息。
现有技术中,映射表保存数据的键名的数量特别大,可能达到100万。每次数据的读写都需要使用数据的键名遍历映射表,判断数据是否在缓存中。以及每个数据都对应于一个互斥锁标记,在每次数据读写时都需要加锁和写锁,用于保证在任一时刻,只有一个线程访问该数据进行读写。每次数据的读写都会有一定的延时,例如,200ms-20s的延时,造成系统性能急剧下降。
发明内容
本公开提供一种缓存数据处理方法、装置、电子设备及存储介质,以实现有效减小缓存数据读写时的延时,提高系统性能。
第一方面,本公开实施例提供了一种缓存数据处理方法,包括:
生成与缓存中的缓存数据对应的基础映射表,并对基础映射表进行分组,得到预设数量的分组映射表,其中,基础映射表中包括所有缓存数据的键名和所有缓存数据在链表中的位置;
获取数据处理请求,并确定数据处理请求中的目标键名;
并行在各分组映射表中查询目标键名;
根据查询结果以及数据处理请求的类型,对缓存中的缓存数据进行处理。
上述方案中,可选的是,根据查询结果以及数据处理请求的类型,对缓存中的缓存数据进行处理,包括:
如果在分组映射表中查询到目标键名,则将目标键名和预设等待时间进行打包得到打包数据,并将打包数据放入预设的无锁队列中;
其中,无锁队列用于定期将队列中的打包数据放入预设的定时器的数组中;
在确定定时器计时至打包数据的预设等待时间时,根据数据处理请求的类型对链表中与目标键名对应的缓存数据进行处理。
上述方案中,可选的是,将目标键名和预设等待时间进行打包得到打包数据,并将打包数据放入预设的无锁队列中,包括:
将键名和预设等待时间打包,得到打包数据;
在获取预设数量的打包数据后,将预设数量的打包数据放入无锁队列中。
上述方案中,可选的是,根据数据处理请求的类型对链表中与目标键名对应的缓存数据进行处理,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811474776.1/2.html,转载请声明来源钻瓜专利网。