[发明专利]用于清空过期缓存的方法和装置有效
申请号: | 201710402941.1 | 申请日: | 2017-06-01 |
公开(公告)号: | CN108984431B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 陈青宇 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F12/0891 | 分类号: | G06F12/0891 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 过期 缓存 方法 装置 | ||
本发明提供一种用于清空过期缓存的方法、装置、电子设备和可读存储介质。该方法包括:配置指示桶的大小的桶间距值;确定是否存在需要缓存的数据;在确定存在需要缓存的数据时,根据所述桶间距值和需要缓存的数据的过期时间将与需要缓存的数据相对应的键划分到多个与桶相对应的节点中的一个节点处;以及以所述桶间距值为间隔定时地删除划分到所述节点中的过期节点的所有键。
技术领域
本发明涉及计算机应用领域,更具体地涉及一种用于清空过期缓存的方法、装置、电子设备和可读存储介质。
背景技术
随着web应用的发展,频繁的读写操作对于存储数据的关系数据库服务器是无法承受的。为了应对web应用的频繁的读写操作,许多web服务器将数据从关系数据库移到非关系数据库(NOSQL)上。
随着人们对WEB服务器的请求频率的爆发增长,WEB服务器请求NOSQL服务器有时也会出现时间上的瓶颈,这在OLAP类型的应用尤其明显。而且,每台WEB服务器对缓存的要求不同,导致NOSQL服务器可能有很多冗余数据,造成浪费效率不高。
在这种情况下,选择在WEB应用的内存中建立缓存不失为明智之举,但是这需要维护缓存的数据的过期时间,否则会导致明显的内存泄露。
在现有技术中,通常采用以下来处理缓存:1)单独开启一个线程来轮询各缓存主键(key)的过期时间,一旦过期时间小于或等于当前时间,则将该键的缓存清空。然而,如果缓存的键过多,每次轮询会消耗大量的CPU时间;如果针对每个键开启一个定时器,则将会产生大量定时器,从而降低性能。2)将缓存置于Java虚拟机(JVM)的永久代中。在该情况中,可视为内存泄露,并且在机器IO高时,需要频繁地将页缓存切到硬盘中,甚至造成机器空转假死,失去了缓存的意义。
因此,需要提供一种能够高效地清空过期缓存的方法、装置、电子设备和可读存储介质。
发明内容
有鉴于此,本发明实施例提供一种用于清空过期缓存的方法、装置、电子设备和可读存储介质,其使用桶回收,通过减少清理的次数来提高清理效率,降低遍历所有缓存键给服务器带来的压力。
为实现上述目的,根据本发明实施例的一个方面,提供了一种用于清空过期缓存的方法。
根据本发明实施例的一种用于清空过期缓存的方法包括:配置指示桶的大小的桶间距值;确定是否存在需要缓存的数据;在确定存在需要缓存的数据时,根据所述桶间距值和需要缓存的数据的过期时间将与需要缓存的数据相对应的键划分到多个与桶相对应的节点中的一个节点处;以及以所述桶间距值为间隔定时地删除划分到所述节点中的过期节点的所有键。
可选地,当确定存在需要缓存的数据时,确定缓存策略。
可选地,当确定所述缓存策略是桶回收模式时,执行所述根据所述桶间距值和需要缓存的数据的过期时间将与需要缓存的数据相对应的键划分到所述节点中的一个节点处的步骤。
可选地,当确定所述缓存策略是普通回收模式时,维护键与过期时间之间的映射,并且轮询各键的过期时间,一旦键的过期时间小于或等于当前时间,则将该键的缓存清空,不执行所述根据所述桶间距值和需要缓存的数据的过期时间将与需要缓存的数据相对应的键划分到所述节点中的一个节点处的步骤以及所述以所述桶间距值为间隔定时地删除划分到所述节点中的过期节点的所有键的步骤。
可选地,根据应用对缓存过期时间要求是否严格以及应用缓存的过期时间值的大小来配置桶间距值。
可选地,根据以下公式来确定一个键所划分到的节点:
(floor(expireTime/interval)+1)*interval
其中,floor表示向下取整函数,expireTime表示过期时间并且等于设置缓存的当前时间加上超时时间,以及interval表示所述桶间距值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710402941.1/2.html,转载请声明来源钻瓜专利网。