[发明专利]一种缓存管理方法与设备有效
申请号: | 201410373843.6 | 申请日: | 2014-07-31 |
公开(公告)号: | CN105302840B | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 黄益聪;魏闯先 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F12/123 |
代理公司: | 31243 上海百一领御专利代理事务所(普通合伙) | 代理人: | 陈贞健<国际申请>=<国际公布>=<进入 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 管理 方法 设备 | ||
1.一种缓存管理方法,包括:
在包含多个缓存记录的缓存中查询确定与主键信息相匹配的目标缓存记录,其中,所述缓存记录包括对应的引用信息与最近访问信息,所述引用信息包括:标识正在被引用缓存记录的数量,或标识正在被引用缓存记录的状态;其中,所述正在被引用缓存记录的数量为正在引用所述缓存记录的线程的数量;所述正在被应用缓存记录的状态包括:有线程正在引用所述缓存记录或没有线程正在引用所述缓存记录;所述最近访问信息包括:表示所述缓存记录在缓存期间被访问的次数、访问者的信息;
更新所述目标缓存记录所对应的引用信息与最近访问信息;其中,所述引用信息与所述最近访问信息通过一条原子指令来更新;
根据所述引用信息和所述最近访问信息设定淘汰机制。
2.根据权利要求1所述的方法,其中,该方法还包括:
当所述目标缓存记录被使用完毕时,释放该目标缓存记录并相应更新该目标缓存记录所对应的引用信息。
3.根据权利要求1或2所述的方法,其中,所述缓存使用分布锁;
其中,所述在包含多个缓存记录的缓存中查询确定与主键信息相匹配的目标缓存记录包括:
当在所述缓存中未查询到与所述主键信息相匹配的目标缓存记录,对该主键信息所对应的缓存子集执行相应的加锁操作;
在所述缓存子集中查询确定与所述主键信息相匹配的目标缓存记录。
4.根据权利要求3所述的方法,其中,在所述缓存子集中查询确定与所述主键信息相匹配的目标缓存记录还包括:
当在所述缓存子集中未查询到与所述主键信息相匹配的目标缓存记录,在所述缓存子集中创建与所述主键信息相匹配的空缓存记录,并对所述缓存子集执行相应的释放锁操作;
将存储空间中对应的数据写入所述空缓存记录。
5.根据权利要求3所述的方法,其中,该方法还包括:
当满足预定的第一触发条件时,对所述缓存的所有分布锁执行加锁操作,调整所述缓存中缓存记录的分布,并对所述所有分布锁执行释放锁操作。
6.根据权利要求5所述的方法,其中,调整所述缓存中缓存记录的分布包括:
根据所述第一触发条件确定所述缓存所对应的子集数量信息;
根据所述子集数量信息调整所述缓存中缓存记录的分布。
7.根据权利要求5所述的方法,其中,所述第一触发条件包括以下至少任一项:
所述缓存的子集平均长度超过最长阈值;
所述缓存的子集平均长度小于最短阈值。
8.根据权利要求1所述的方法,其中,该方法还包括:
当满足预定的第二触发条件时,对所述缓存中的缓存记录执行淘汰操作,其中,被淘汰的缓存记录所对应的引用信息为零。
9.根据权利要求8所述的方法,其中,对所述缓存中的缓存记录执行淘汰操作包括:
从所述缓存中淘汰指针所指向的缓存记录开始执行如下操作,直至满足对应的淘汰停止条件:
更新所述淘汰指针所指向的缓存记录所对应的最近访问信息;若该缓存记录所对应的引用信息与最近访问信息均为零,则淘汰该缓存记录;使所述淘汰指针指向该缓存记录的下一个缓存记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410373843.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:内容关联推荐方法及装置
- 下一篇:一种基于内容的视频检索数学模型建立方法