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.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述缓存数据的更新期间,若再接收到其他数据请求,则取消执行所述判断所述剩余有效缓存时长是否大于预设的更新阈值。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当存储的缓存数据过期时,查询是否接收到客户端发送的所述缓存数据对应的数据请求;若没有接收到客户端发送的所述缓存数据对应的数据请求,则通过所述数据库更新所述缓存数据;若接收到客户端发送的所述缓存数据对应的数据请求,则在从所述数据库中查找到所述数据请求对应的数据后,将查找到的数据返回给客户端,并基于所述查找到的数据更新所述缓存数据。4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:当数据资源首次被访问时,根据资源类型和预置规则将所述数据资源包含的数据划分为至少两个数据集合;将各个数据集合独立进行缓存,并生成各个数据集合对应的key,以便后续根据所述key查找缓存数据,其中,每个数据集合的过期时间点不同。5.根据权利要求4所述的方法,其特征在于,根据资源类型和预置规则将所述数据资源包含的数据划分为至少两个数据集合,包括:当所述数据资源为用于展示固定数据的第一页面时,根据所述第一页面的页面布局,将从所述数据库中查找到的所述第一页面包含的数据划分为至少两个数据集合;当所述数据资源为具有条件查询功能的第二页面时,根据所述第二页面涉及的查询条件组合,将从所述数据库中查找到的所述第二页面包含的数据划分为至少两个数据集合;所述第二页面中包括多组查询条件,一组查询条件对应的结果数据为一个数据集合,一组查询条件由至少一个查询条件组成。6.根据权利要求4所述的方法,其特征在于,判断所述剩余有效缓存时长是否大于预设的更新阈值,包括:判断所述数据请求对应的数据集合的剩余有效缓存时长是否大于所述更新阈值。7.一种数据缓存的装置,其特征在于,所述装置包括:确定单元,用于在接收到客户端发送...
【专利技术属性】
技术研发人员:王玲玉,李雅民,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。