数据缓存的方法及装置制造方法及图纸

技术编号:16456091 阅读:59 留言:0更新日期:2017-10-25 20:37
本发明专利技术公开了一种数据缓存的方法及装置,涉及互联网技术领域,能够解决以下问题:当某一页面的缓存数据过期时,若存在大量用户访问该页面,则需要分别针对每一个请求从数据库中查找数据,从而造成大量请求同时访问数据库的现象。该方法主要包括:在接收到客户端发送的数据请求后,确定所述数据请求对应的缓存数据的剩余有效缓存时长;判断所述剩余有效缓存时长是否大于预设的更新阈值;若所述剩余有效缓存时长小于或等于所述更新阈值,则通过数据库更新所述缓存数据。本发明专利技术主要适用于基于数据缓存响应客户端请求的场景中。

Method and device for data cache

The invention discloses a method and a device for data cache, which relates to the technical field of the Internet, can solve the following problems: when the cache data expired a page, if there are a large number of users to access the page, you need to separately for each request from the database to find the data, thus resulting in a large number of access to the database at the same time the phenomenon request. The method includes: receiving data sent by the client request, determine the remaining effective cache data request data corresponding to the length of the length is larger than a preset threshold; update the judgment of the remaining effective cache; if the remaining effective cache duration Yu Huo is equal to the update threshold, the the cache data is updated by the database. The invention is mainly applicable to the scene where the data cache responds to the client request.

【技术实现步骤摘要】
数据缓存的方法及装置
本专利技术涉及互联网
,特别是涉及一种数据缓存的方法及装置。
技术介绍
在实际应用中,对于大型的网站或应用,几乎每时每刻存在着数万级用户在访问同一个页面。因此,为了快速响应用户请求,引入了缓存技术。在现有技术中,当某页面首次被访问时,系统先从数据库中查找该页面对应的数据,然后将查找到的数据返回给客户端,同时将查找到的数据缓存至缓存服务器中,以便后续该页面再次被访问时,可直接从缓存服务器侧获取数据,而无需从包含大量数据的数据库中花费大量时间进行查询,从而提高了响应用户请求的效率。由于数据库中的数据会不断更新,所以缓存至缓存服务器的数据只会暂时缓存,而不会持久缓存。在这种情况下,当某一页面的缓存数据过期时,若存在大量用户访问该页面,则系统需要分别针对每一个请求从数据库中查找数据,因此,会存在大量请求同时访问数据库的现象,且从数据库中查询数据效率较低,数据库的连接数也有限,从而部分用户的界面可能会出现短暂的系统异常、无法查看到页面内容的现象。
技术实现思路
有鉴于此,本专利技术提供一种数据缓存的方法及装置,能够解决以下问题:当某一页面的缓存数据过期时,若存在大量用户访问该页面,则需要分别针对每一个请求从数据库中查找数据,从而造成大量请求同时访问数据库的现象,进而使得部分用户的界面出现短暂的系统异常、无法查看页面内容的现象。依据本专利技术一个方面,提供了一种数据缓存的方法,所述方法包括:在接收到客户端发送的数据请求后,确定所述数据请求对应的缓存数据的剩余有效缓存时长;判断所述剩余有效缓存时长是否大于预设的更新阈值;若所述剩余有效缓存时长小于或等于所述更新阈值,则通过数据库更新所述缓存数据。依据本专利技术另一个方面,提供了一种数据缓存的装置,所述装置包括:确定单元,用于在接收到客户端发送的数据请求后,确定所述数据请求对应的缓存数据的剩余有效缓存时长;判断单元,用于判断所述确定单元获得的所述剩余有效缓存时长是否大于预设的更新阈值;更新单元,用于当所述判断单元的判断结果为所述剩余有效缓存时长小于或等于所述更新阈值时,通过数据库更新所述缓存数据。借由上述技术方案,本专利技术提供的数据缓存的方法及装置,能够在接收到客户端发送的数据请求后,判断该数据请求对应的缓存数据的剩余有效缓存时长是否大于预设的更新阈值;当剩余有效缓存时长大于该更新阈值时,直接向客户端返回该缓存数据;当剩余有效缓存时长为正数,且小于或者等于该更新阈值时,不仅向客户端返回该缓存数据,还通过数据库更新该缓存数据。由此可知,与现有技术中当缓存数据过期时,才更新缓存数据相比,本专利技术能够在缓存数据过期前就更新缓存数据,从而当后续存在大量客户端请求该缓存数据时,该缓存数据仍然处于有效状态,并可以直接将该缓存数据返回给各个客户端,进而减少因缓存数据过期,存在大量请求并发访问数据库的现象。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种数据缓存的方法的流程图;图2示出了本专利技术实施例提供的一种数据缓存的装置的组成框图;图3示出了本专利技术实施例提供的另一种数据缓存的装置的组成框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例提供了一种数据缓存的方法,该方法主要应用于服务器侧,如图1所示,该方法主要包括:101、在接收到客户端发送的数据请求后,确定数据请求对应的缓存数据的剩余有效缓存时长。当服务器接收到客户端发送的数据请求后,可以从缓存中查找该数据请求对应的缓存数据,并确定缓存数据的剩余有效缓存时长,以便后续根据该剩余有效缓存时长判断是否需要更新该缓存数据。其中,在缓存各个缓存数据时,可以记录其缓存起始时间和总体有效缓存时长,在缓存时间到总体有效缓存时长时,缓存数据过期;也可以设置一个时间为总体有效缓存时长的倒计时器,当计时为0时,缓存数据过期。由此可知,服务器可以根据缓存数据的时间属性,确定缓存数据的剩余有效缓存时长。102、判断剩余有效缓存时长是否大于预设的更新阈值。其中,剩余有效缓存时长为正数,更新阈值小于缓存数据的总体有效缓存时长。若剩余有效缓存时长为正数,则说明该缓存数据为有效数据,在这种情况下,可以执行步骤102,以便确定是否需要提前更新缓存数据;若剩余有效缓存时长为0,则说明该缓存数据已过期,在这种情况下,取消执行步骤102,直接针对每一个数据请求,向数据库查询数据,并将查找到的数据返回给客户端,以及根据查找到的数据更新过期的缓存数据。103、若剩余有效缓存时长小于或等于更新阈值,则通过数据库更新缓存数据。具体的,若剩余有效缓存时长小于或等于更新阈值,则将该缓存数据返回给客户端,并通过数据库更新缓存数据;若剩余有效缓存时长大于更新阈值,则直接将该缓存数据返回给客户端即可,而无需通过数据库更新缓存数据。其中,将缓存数据返回给客户端以及通过数据库更新缓存数据可以同时进行,也可以不同时进行,在此不作限定。若在缓存数据的剩余有效缓存时长等于更新阈值时接收到客户端发送的数据请求,则服务器需要通过数据库更新该缓存数据。在这种情况下,若更新阈值为从数据库中查询数据到将查询的数据写入缓存中所需的平均时间,则该缓存数据正好在过期的瞬间完成更新操作;若更新阈值小于该平均时间,则在该缓存数据过期的瞬间还未完成更新操作,从而从缓存数据过期到完成更新操作期间,若存在大量客户端发送数据请求,则需要针对每个数据请求向数据库发送查询请求,进而可能造成系统异常的现象;若更新阈值大于该平均时间,则在该缓存数据过期前就完成更新操作,从而不会出现因缓存过期,需要针对每个数据请求向数据库发送查询请求的现象。由此可知,在实际应用中,当更新阈值大于或者等于从数据库中查询数据到将查询的数据写入缓存中所需的平均时间时,可以进一步减少大量请求访问数据库的现象。本专利技术实施例提供的数据缓存的方法,能够在接收到客户端发送的数据请求后,判断该数据请求对应的缓存数据的剩余有效缓存时长是否大于预设的更新阈值;当剩余有效缓存时长大于该更新阈值时,直接向客户端返回该缓存数据;当剩余有效缓存时长为正数,且小于或者等于该更新阈值时,不仅向客户端返回该缓存数据,还通过数据库更新该缓存数据。由此可知,与现有技术中当缓存数据过期时,才更新缓存数据相比,本专利技术能够在缓存数据过期前就更新缓存数据,从而当后续存在大量客户端请求该缓存数据时,该缓存数据仍然处于有效状态,并可以直接将该缓存数据返回给各个客户端,进而减少因缓存数据过期,存在大量请求并发访问数据库的现象。进一步的,在通过数据库本文档来自技高网...
数据缓存的方法及装置

【技术保护点】
一种数据缓存的方法,其特征在于,所述方法包括:在接收到客户端发送的数据请求后,确定所述数据请求对应的缓存数据的剩余有效缓存时长;判断所述剩余有效缓存时长是否大于预设的更新阈值;若所述剩余有效缓存时长小于或等于所述更新阈值,则通过数据库更新所述缓存数据。

【技术特征摘要】
1.一种数据缓存的方法,其特征在于,所述方法包括:在接收到客户端发送的数据请求后,确定所述数据请求对应的缓存数据的剩余有效缓存时长;判断所述剩余有效缓存时长是否大于预设的更新阈值;若所述剩余有效缓存时长小于或等于所述更新阈值,则通过数据库更新所述缓存数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述缓存数据的更新期间,若再接收到其他数据请求,则取消执行所述判断所述剩余有效缓存时长是否大于预设的更新阈值。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当存储的缓存数据过期时,查询是否接收到客户端发送的所述缓存数据对应的数据请求;若没有接收到客户端发送的所述缓存数据对应的数据请求,则通过所述数据库更新所述缓存数据;若接收到客户端发送的所述缓存数据对应的数据请求,则在从所述数据库中查找到所述数据请求对应的数据后,将查找到的数据返回给客户端,并基于所述查找到的数据更新所述缓存数据。4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:当数据资源首次被访问时,根据资源类型和预置规则将所述数据资源包含的数据划分为至少两个数据集合;将各个数据集合独立进行缓存,并生成各个数据集合对应的key,以便后续根据所述key查找缓存数据,其中,每个数据集合的过期时间点不同。5.根据权利要求4所述的方法,其特征在于,根据资源类型和预置规则将所述数据资源包含的数据划分为至少两个数据集合,包括:当所述数据资源为用于展示固定数据的第一页面时,根据所述第一页面的页面布局,将从所述数据库中查找到的所述第一页面包含的数据划分为至少两个数据集合;当所述数据资源为具有条件查询功能的第二页面时,根据所述第二页面涉及的查询条件组合,将从所述数据库中查找到的所述第二页面包含的数据划分为至少两个数据集合;所述第二页面中包括多组查询条件,一组查询条件对应的结果数据为一个数据集合,一组查询条件由至少一个查询条件组成。6.根据权利要求4所述的方法,其特征在于,判断所述剩余有效缓存时长是否大于预设的更新阈值,包括:判断所述数据请求对应的数据集合的剩余有效缓存时长是否大于所述更新阈值。7.一种数据缓存的装置,其特征在于,所述装置包括:确定单元,用于在接收到客户端发送...

【专利技术属性】
技术研发人员:王玲玉李雅民
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1