[发明专利]缓存失效方法和装置有效
申请号: | 201310754652.X | 申请日: | 2013-12-31 |
公开(公告)号: | CN103678173B | 公开(公告)日: | 2017-07-04 |
发明(设计)人: | 颜亮 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F12/0817 | 分类号: | G06F12/0817;G06F17/30 |
代理公司: | 广州华进联合专利商标代理有限公司44224 | 代理人: | 何平 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 失效 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别是涉及一种缓存失效方法和装置。
背景技术
企业管理系统是面向企业的,能够帮助企业优化工作流程,提高工作效率的信息化系统。企业管理系统,如ERP(Enterprise Resource Planning,企业资源计划)系统在运行中需要与数据库进行交互,从数据库中读取数据进行处理。
企业管理系统如果重复地从数据库中取出相同的数据,就会极大地增加数据库的负载,造成性能问题。缓存是解决企业管理系统与数据库交互性能瓶颈的有效途径,例如在ERP系统中可以应用分布式缓存来提高查询性能,减少数据库的压力。企业管理系统从数据库中取出数据,并保存到缓存中,在需要使用该数据时直接从缓存读取,减少了与数据库的交互,并提高了数据读取速度。
数据保存在缓存中,随着数据时效性的改变,就会涉及到缓存失效问题,即将缓存中旧的数据及时清除。传统技术中,缓存是依靠键值对(Key-Value)的Map方式保存数据,其中Key为缓存中保存(获取)数据的唯一标识,Value为保存在缓存中数据的值。因此,传统技术中,缓存失效是根据Key将数据从缓存中逐条删除。当企业管理系统所使用的缓存数据量比较大时,传统技术的处理就会比较耗时,从而造成性能问题。
发明内容
基于此,有必要提供一种缓存失效方法和装置,应用本方法和装置,能够提高清除缓存中数据的效率。
一种缓存失效方法,包括:
通过第一键值对Key1:Value1的Map方式在缓存中存取第一数据,所述Key1中包含基本码和所述第一数据失效前的第一随机码,所述Value1为所述第一数据的值;
所述第一数据的时效性发生改变,使所述第一数据失效;
通过第二键值对Key2:Value2的Map方式在缓存中存取第二数据,所述Key2中包含所述基本码和所述第一数据失效后的第二随机码,所述Value2为所述第二数据的值。
在其中一个实施例中,在所述通过第一键值对Key1:Value1的Map方式在缓存中存取第一数据的步骤之前,所述方法还包括:
从数据库中读取所述第一数据;
在所述通过第二键值对Key2:Value2的Map方式在缓存中存取第二数据的步骤之前,所述方法还包括:
从数据库中读取所述第二数据。
在其中一个实施例中,所述基本码中包括存取所述第一数据和所述第二数据对应用户的用户标识,以及所述第一数据和所述第二数据对应的应用标识。
在其中一个实施例中,所述通过第一键值对Key1:Value1的Map方式在缓存中存取第一数据的步骤,包括:
生成第一随机码,并以所述基本码和所述第一随机码组成所述Key1;
将第一键值对Key1:Value1保存到缓存中;
通过所述Key1在缓存中获取所述Value1对应的所述第一数据;
所述通过第二键值对Key2:Value2的Map方式在缓存中存取第二数据的步骤,包括:
生成第二随机码,并以所述基本码和所述第二随机码组成所述Key2;
将第二键值对Key2:Value2保存到缓存中;
通过所述Key2在缓存中获取所述Value2对应的所述第二数据。
在其中一个实施例中,所述第一数据的时效性发生改变,使所述第一数据失效的步骤包括:
所述基本码中的用户标识所对应的用户权限发生变化,或所述基本码中的应用标识所对应的应用权限发生改变,使所述第一数据失效。
一种缓存失效装置,包括:
缓存保存模块,用于在第一数据失效前通过第一键值对Key1:Value1的Map方式在缓存中保存第一数据,所述Key1中包含基本码和所述第一数据失效前的第一随机码,所述Value1为所述第一数据的值;所述缓存保存单元,还用于在所述第一数据失效后通过第二键值对Key2:Value2的Map方式在缓存中保存第二数据,所述Key2中包含所述基本码和所述第一数据失效后的第二随机码,所述Value2为所述第二数据的值;
时效监控模块,用于获取所述第一数据的时效性发生改变的信息;
缓存读取模块,用于在所述第一数据失效前通过所述Key1从缓存中获取第一数据,以及在所述第一数据失效后通过所述Key2从缓存中获取第二数据。
在其中一个实施例中,所述装置还包括数据库读取模块,所述数据库读取模块用于从数据库中读取所述第一数据及所述第二数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310754652.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:控制业务流程的方法和装置
- 下一篇:循环流化床锅炉溜槽给煤机