The invention discloses a method and device for data caching, which relates to the field of Internet technology, and can solve the problem of low efficiency caused by the need to acquire cached data across computers in the Memcached caching system in the prior art. The method of the present invention mainly includes: after receiving the data request sent by the terminal, the target data corresponding to the data request is searched from the local preset buffer area, which includes the intra-process buffer area and/or the inter-process buffer area; if the target data is found in the preset buffer area, the data carrying the target data is sent in response. To the terminal. The invention is mainly applicable to the scenario where terminal access server is realized by caching data in database.
【技术实现步骤摘要】
数据缓存的方法和装置
本专利技术涉及互联网
,特别是涉及一种数据缓存的方法和装置。
技术介绍
在实际应用中,当终端访问服务器时,服务器会从数据库中获取终端需要的数据反馈给终端。对于大型网站或者大型应用而言,每时每刻都有大量的终端访问网站服务器或者应用服务器,所以常常存在相同数据被频繁访问的现象。然而,若对于终端的每次访问,服务器都从存储有大量数据的数据库中查找,则效率将会很低。因此,为解决上述技术问题,现有技术中提出一种分布式缓存系统。其中,最常用的是Memcached缓存系统。具体的,在应用服务器或者网站服务器侧安装一个Memcached客户端,再部署多个Memcached服务器;终端向网站服务器或者应用服务器请求数据时,网站服务器或者应用服务器会先查询Memcached服务器中是否缓存有该数据;若有,则从缓存有该数据的Memcached服务器中获取该数据,若没有,则从数据库中获取该数据,并通过分布式算法将从数据库中获取的数据缓存到对应的Memcached服务器中,以便后续网站服务器或者应用服务器可直接从Memcached服务器获取该数据,而无需访问数据库 ...
【技术保护点】
1.一种数据缓存的方法,其特征在于,所述方法包括:在接收到终端发送的数据请求后,从本地的预设缓存区域查找所述数据请求对应的目标数据,所述预设缓存区域包括进程内缓存区域和/或进程间缓存区域;若在所述预设缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端;所述若在所述预设缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端,包括:若在当前进程的进程内缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端。
【技术特征摘要】
1.一种数据缓存的方法,其特征在于,所述方法包括:在接收到终端发送的数据请求后,从本地的预设缓存区域查找所述数据请求对应的目标数据,所述预设缓存区域包括进程内缓存区域和/或进程间缓存区域;若在所述预设缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端;所述若在所述预设缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端,包括:若在当前进程的进程内缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端。2.根据权利要求1所述的方法,其特征在于,所述若在所述预设缓存区域中查找到所述目标数据,则将携带所述目标数据的数据响应发送给所述终端,包括:若在进程间缓存区域中查找到所述目标数据,则对所述目标数据进行反序列化处理,获得反序列化后的目标数据;将携带所述反序列化后的目标数据的数据响应发送给所述终端。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若在所述预设缓存区域中没有查找到所述目标数据,则从数据库中获取所述目标数据,并将携带所述目标数据的数据响应发送给所述终端;将从所述数据库中获取的目标数据缓存至所述预设缓存区域中。4.根据权利要求3所述的方法,其特征在于,所述将从所述数据库中获取的目标数据缓存至所述预设缓存区域中,包括:确定所述目标数据的大小;若当前进程的进程内缓存区域的剩余存储空间的大小大于等于所述目标数据的大小,则将所述目标数据缓存至所述当前进程的进程内缓存区域;若所述当前进程的进程内缓存区域的剩余存储空间的大小小于所述目标数据的大小,且进程间缓存区域的剩余存储空间的大小大于等于所述目标数据的大小,则对所述目标数据进行序列化处理,并将序列化处理后的目标数据缓存至所述进程间缓存区域;若所述当前进程的进程内缓存区域的剩余存储空间的大小和所述进程间缓存区域的剩余存储空间的大小均小于所述目标数据的大小,则基于所述当前进程的进程内缓存区域对应的进程内缓存机制,将所述目标数据缓存至所述当前进程的进程内缓存区域。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述进程内缓存区域对应的进程内缓存机制为近期最少使用LRU缓存。6.一种数据缓存的装置,其特征在于,所述装置包...
【专利技术属性】
技术研发人员:温铭,
申请(专利权)人:北京奇虎科技有限公司,北京奇安信科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。