CN103530349A - 一种缓存更新方法及设备 - Google Patents
一种缓存更新方法及设备 Download PDFInfo
- Publication number
- CN103530349A CN103530349A CN201310467506.9A CN201310467506A CN103530349A CN 103530349 A CN103530349 A CN 103530349A CN 201310467506 A CN201310467506 A CN 201310467506A CN 103530349 A CN103530349 A CN 103530349A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- information
- buffer memory
- user side
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种缓存更新方法及设备,涉及计算机技术领域,能够实时地更新缓存存储的数据,从而提升Web系统的性能。该方法包括:获取用户端发送的用户端请求的第一数据的信息,并根据第一数据的信息,从第一数据库中获取第一数据,以及将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存更新方法及设备。
背景技术
随着Web技术的发展,Web系统中用户的访问量逐渐增加,为了提高用户访问Web系统的效率,缓存技术应运而生。
现有的Web系统是通过在服务器中安装Hibernate来连接数据库的。Hibernate采用两级缓存架构,其中,一级缓存为Hibernate框架本身的Session(会话)缓存,二级缓存为与服务器中运行的进程相关的缓存。为了满足用户的访问需求,软件开发人员在Web系统的应用程序中对一级缓存存储的数据设置了有效时间,即数据在一级缓存中的存放时间,当用户访问Web系统时,服务器可以以该有效时间为周期,不断地更新一级缓存存储的数据,进而满足用户的访问需求。
然而,由于上述有效时间为软件开发人员提前在Web系统的应用程序中设置好的,因此,服务器只能在该有效时间结束后更新一级缓存存储的数据,从而导致一级缓存存储的数据无法实时更新,进而影响了Web系统的性能。
发明内容
本发明的实施例提供一种缓存更新方法及设备,能够实时地更新缓存存储的数据,从而提升Web系统的性能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种缓存更新方法,包括:
获取用户端发送的所述用户端请求的第一数据的信息;
根据所述第一数据的信息,从第一数据库中获取所述第一数据;
将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据。
在第一方面的第一种可能的实现方式中,所述将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据具体包括:
根据所述第一数据的信息,生成过期消息,所述过期消息用于指示所述缓存中存储的所述第二数据过期;
根据所述过期消息,删除所述缓存中存储的所述第二数据;
将所述第一数据存储在所述缓存中。
结合前述的第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一数据的信息包括所述第一数据的类型和所述第一数据的标识。
结合前述的第一方面或第一方面的第一种可能的实现方式至第二种可能的实现方式中的任一种实现方式,在第三种可能的实现方式中,
所述缓存包括二级缓存和三级缓存,所述二级缓存包括Redis,所述三级缓存包括第二数据库。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据具体包括:
根据所述第一数据的类型和所述第一数据的标识,将所述二级缓存或所述三级缓存中存储的所述第二数据更新为所述第一数据。
第二方面,本发明实施例提供一种服务器,包括:
获取单元,用于获取用户端发送的所述用户端请求的第一数据的信息,并根据所述第一数据的信息,从第一数据库中获取所述第一数据;
更新单元,用于将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据。
在第二方面的第一种可能的实现方式中,
所述更新单元,具体用于根据所述第一数据的信息,生成过期消息,并根据所述过期消息,删除所述缓存中存储的所述第二数据,以及将所述第一数据存储在所述缓存中,所述过期消息用于指示所述缓存中存储的所述第二数据过期。
结合前述的第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一数据的信息包括所述第一数据的类型和所述第一数据的标识。
结合前述的第二方面或第二方面的第一种可能的实现方式至第二种可能的实现方式中的任一种实现方式,在第三种可能的实现方式中,
所述缓存包括二级缓存和三级缓存,所述二级缓存包括Redis,所述三级缓存包括第二数据库。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述更新单元,具体用于根据所述第一数据的类型和所述第一数据的标识,将所述二级缓存或所述三级缓存中存储的所述第二数据更新为所述第一数据。
本发明实施例提供一种缓存更新方法及设备,通过获取用户端发送的用户端请求的第一数据的信息,并根据第一数据的信息,从第一数据库中获取第一数据,以及将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。通过该方案,一旦获取到用户端发送的用户端请求的第一数据的信息,就可根据该数据的信息,更新缓存中存储的与该数据的信息对应的数据,从而能够实时地更新缓存存储的数据,进而提升Web系统的性能。
附图说明
图1为本发明实施例提供的一种缓存更新方法的流程图一;
图2为本发明实施例提供的Web系统的结构示意图;
图3为本发明实施例提供的一种缓存更新方法的流程图二;
图4为本发明实施例提供的用户端访问Web系统的流程图;
图5为本发明实施例提供的服务器的结构示意图一;
图6为本发明实施例提供的服务器的结构示意图二。
具体实施方式
下面结合附图对本发明实施例提供的一种缓存更新方法及设备进行详细地描述。
实施例一
本发明的实施例提供一种缓存更新方法,如图1所示,该方法可以包括:
S101、服务器获取用户端发送的用户端请求的第一数据的信息。
本发明实施例中,如图2所示,用户端(可以为浏览器),服务器(可以为Web服务器)、中间接口和第一数据库组成一个Web系统,其中,中间接口可以将服务器和第一数据库直接关联,中间接口能够直接调用外部程序或脚本代码来访问第一数据库,因此,中间接口可以提供与第一数据库相关的动态HTML(Hypertext Markup Language,超文本标记语言)页面,或查询第一数据库,并将查询结果转化成HTML页面后,通过服务器返回给用户端。
由于用户端、服务器通过中间接口与第一数据库直接关联,因此,当用户端发送用户端请求的第一数据的信息时,用户端和服务器之间建立连接,且用户端通过HTTP(Hypertext transfer protocol,超文本传输协议)将用户端请求的第一数据的信息发送至服务器,以使服务器可以根据用户端请求的第一数据的信息,通过中间接口将用户端请求的第一数据写入第一数据库中,或者服务器可将第一数据库中保存的与用户端发送的第一数据的信息对应的第二数据进行更新。同时,服务器也可以通过中间接口将用户端请求的已经保存在第一数据库中的第一数据从第一数据库中读取出来,并将该第一数据保存至服务器的缓存中,以方便用户端后续进行访问。
S102、服务器根据第一数据的信息,从第一数据库中获取第一数据。
服务器通过中间接口将用户端请求的第一数据写入第一数据库中,或将第一数据库中与用户端请求的第一数据对应的数据进行更新后,服务器可根据获取到的第一数据的信息,通过中间接口从第一数据库中获取该第一数据,从而服务器可将缓存中保存的与第一数据的信息对应的第二数据更新为第一数据。
缓存是指服务器中可以临时进行高速数据交换的数据存储区。服务器通过将最常用的数据从数据库中读取出来并临时保存在缓存中,这样不但可比服务器从数据库中读取数据方便,而且还可以提高服务器的工作效率。
S103、服务器将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。
由于服务器通过中间接口与第一数据库直接关联,因此,服务器可实时地通过中间接口将用户端请求的第一数据保存至第一数据库中,或对第一数据库中与第一数据的信息对应的第二数据进行更新;当服务器通过中间接口对第一数据库进行更新后,服务器才能通过中间接口,根据更新后的第一数据库更新服务器的缓存,以便于用户下次访问Web系统时,服务器可以直接从缓存中读取用户请求的第一数据,从而避免了现有技术当用户端请求数据时,服务器每次均需从第一数据库中读取数据的问题,进而提高了服务器的工作效率。
需要说明的是,当服务器通过中间接口对第一数据库进行更新后,服务器的缓存中存储的与第一数据的信息对应的第二数据已经过期,即第二数据已经无法再继续使用了,此时,服务器需对缓存中保存的第二数据进行更新,以保证用户端后续的正常访问。具体的,服务器从第一数据库获取第一数据之后,服务器可将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据,以使得第一数据库和缓存中都保存有第一数据。从而使得当用户端后续访问Web系统时,服务器可以方便地从缓存中读取出第一数据,并向用户端提供服务。
进一步地,由于第一数据库中存储的数据量比较大,当服务器通过中间接口从第一数据库中读取对应的数据时,服务器需在第一数据库中的所有数据中查找该对应的数据,因此,服务器读取数据的速度较慢。由于缓存中存储的数据为第一数据库中的部分常用的数据,即缓存中存储的数据量较小,因此,服务器读取数据的速度较快,从而使得服务器从缓存中读取数据更方便,效率更高。
可以理解的是,上述过程是针对服务器的缓存中存储的数据更新的方法。而当用户端后续访问Web系统时,服务器需向用户端返回用户端请求的数据。具体的,用户端发送请求第一数据的请求消息至服务器,即服务器获取用户端发送的请求第一数据的请求消息之后,服务器可根据用户端发送的请求第一数据的请求消息直接从缓存中获取该第一数据,并将该第一数据提供给用户端。
本发明实施例提供一种缓存更新方法,通过服务器获取用户端发送的用户端请求的第一数据的信息,并根据第一数据的信息,从第一数据库中获取第一数据,以及将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。通过该方案,服务器一旦获取到用户端发送的用户端请求的第一数据的信息,就可根据该数据的信息,更新缓存中存储的与该数据的信息对应的数据,从而能够实时地更新缓存存储的数据,进而提升Web系统的性能。
实施例二
本发明的实施例提供一种缓存更新方法,如图3所示,该方法可以包括:
S201、服务器获取用户端发送的用户端请求的第一数据的信息。
本发明实施例中,如图2所示,用户端(可以为浏览器)、服务器(可以为Web服务器)、中间接口和第一数据库组成一个Web系统。其中,中间接口可以将服务器和第一数据库直接关联,中间接口能够直接调用外部程序或脚本代码来访问第一数据库,因此,中间接口可以提供与第一数据库相关的动态HTML页面,或查询第一数据库,并将查询结果转化为HTML页面后,通过服务器返回给用户端。
由于用户端、服务器通过中间接口与第一数据库直接关联,因此,当用户端发送用户端请求的第一数据的信息时,用户端和服务器之间建立连接,且用户端通过HTTP将用户端请求的第一数据的信息发送至服务器,以使服务器可以根据用户端请求的第一数据的信息,通过中间接口将用户端请求的第一数据写入第一数据库中,或者服务器可将第一数据库中保存的与用户端发送的第一数据的信息对应的第二数据进行更新。同时,服务器也可以通过中间接口将用户端请求的已经保存在第一数据库中的第一数据从第一数据库中读取出来,并将该第一数据保存至服务器的缓存中,以方便用户端后续进行访问。
可选的,第一数据的信息包括第一数据的类型和第一数据的标识。
S202、服务器根据第一数据的信息,从第一数据库中获取第一数据。
服务器通过中间接口将用户端请求的第一数据写入第一数据库中,或将第一数据库中与用户端请求的第一数据对应的数据进行更新后,服务器可根据获取到的第一数据的信息,通过中间接口从第一数据库中获取对应的第一数据,从而服务器可将缓存中保存的与第一数据的信息对应的第二数据更新为第一数据。
缓存是指服务器中可以临时进行高速数据交换的数据存储区。服务器通过将最常用的数据从数据库中读取出来并临时保存在缓存中,这样不但可比服务器从数据库中读取数据方便,而且还可以提高Web服务器的工作效率。
S203、服务器根据第一数据的信息,生成过期消息,其中,过期消息用于指示缓存中存储的第二数据过期。
由于服务器通过中间接口与第一数据库直接关联,因此,服务器可实时地通过中间接口将用户端请求的第一数据保存至第一数据库中,或对第一数据库中与第一数据的信息对应的第二数据进行更新;当服务器通过中间接口对第一数据库进行更新后,服务器才能通过中间接口,根据更新后的第一数据库更新服务器的缓存,以便于用户下次访问Web系统时,服务器可以直接从缓存中读取用户请求的第一数据,从而避免了现有技术当用户端请求数据时,服务器每次均需从第一数据库中读取数据的问题,进而提高了服务器的工作效率。
需要说明的是,当服务器通过中间接口对第一数据库进行更新后,服务器的缓存中存储的与第一数据的信息对应的第二数据已经过期,即第二数据已经无法再继续使用了,此时,服务器需对缓存中保存的第二数据进行更新,以保证用户端后续的正常访问。具体的,服务器根据从用户端接收到的第一数据的信息,生成过期消息,其中,过期消息用于指示缓存中存储的第二数据过期
S204、服务器根据过期消息,删除缓存中存储的第二数据,并将第一数据存储在缓存中。
服务器生成过期消息后,服务器可根据过期消息,删除缓存中存储的第二数据,以及将从第一数据库中获取的第一数据存储在服务器的缓存中,以使得第一数据库和服务器的缓存中都保存有第一数据。从而使得服务器后续可以直接从缓存中读取第一数据,更方便地为用户提供服务。
进一步地,由于第一数据库中存储的数据量比较大,当服务器通过中间接口从第一数据库中读取对应的数据时,服务器需在第一数据库中的所有数据中查找该对应的数据,因此,服务器读取数据的速度较慢。由于缓存中存储的数据为第一数据库中的部分常用的数据,即缓存中存储的数据量较小,因此,服务器读取数据的速度较快,从而使得服务器从缓存中读取数据更方便,效率更高。
可选的,缓存可以包括二级缓存和三级缓存,其中,二级缓存包括Redis,三级缓存包括第二数据库。
需要说明的是,一级缓存为与服务器中运行的进程相关的缓存,一级缓存中存储的数据使用频率很高,但是数据本身并不是很大,通过将这种数据存储在与服务器中运行的进程相关的缓存中,能够快速的完成数据的存取。
二级缓存是为了协调一级缓存与内存之间的速度而设立的,二级缓存比一级缓存的速度慢,但是相比一级缓存的容量,二级缓存的容量提供了数量级上的优势,二级缓存主要是一级缓存和内存之间数据临时交换的地方。二级缓存一般为高效的缓存,如Redis,二级缓存中一般存储数据量很大的数据,由于这些数据无法全部放在与Web服务器中运行的进程相关的缓存中,因此,需要将该中等级别的数据放在一个支持大数据容量的高效的缓存之中,如二级缓存。
需要说明的是,Redis是一个开发源代码的高效的K-V数据库,Redis可用作二级缓存。
三级缓存是为读取二级缓存后未命中的数据设计的一种缓存,三级缓存为第二数据库,三级缓存中一般存储着用户端访问第三方的Web服务数据或者其他RPC(Remote Procedure Call,远程过程调用)数据。由于Web系统中第三方的Web服务数据被用户端访问的频率较低,因此可以选用相对于一级缓存和二级缓存的读取速度较慢的三级缓存来存储第三方服务数据。本发明实施例中,可以将第三方的Web服务数据或者其他RPC数据存储在作为三级缓存的第二数据库中。
特别的,一级缓存,即与服务器中运行的进程相关的缓存中存储的数据,是随着进程的开始而创建,随着进程的结束而清除的,因此与服务器中运行的进程相关的缓存中存储的数据是随着进程的开始而更新的,即一级缓存不需要通过上述的过期消息来控制其更新。而二级缓存和三级缓存中存储的数据则需通过上述的过期消息来控制服务器更新。
可以理解的是,上述过程是针对服务器的缓存中存储的数据更新的方法。而当用户端对Web系统的数据进行修改后,服务器除了需更新第一数据库及服务器的缓存中存储的数据外,服务器还需向用户端返回用户端请求的数据。具体的,用户端发送用户端请求的第一数据的信息至服务器,即服务器获取用户端发送的用户端请求的第一数据的信息之后,服务器可根据用户端发送的第一数据的信息更新第一数据库和服务器的缓存中存储的与第一数据的信息对应的第二数据,并将该第一数据提供给用户端。
具体的,当用户端后续访问Web系统时,如图4所示,用户端可发送请求第一数据的请求消息至服务器,即服务器获取到用户端发送的请求第一数据的请求消息之后,服务器可根据用户端发送的请求第一数据的请求消息,首先在一级缓存中查找该第一数据,若服务器在一级缓存中查找到该第一数据,则返回该第一数据至用户端,若服务器在一级缓存中未查找到该第一数据,服务器则再在二级缓存中查找该第一数据,若服务器在二级缓存中查找到该第一数据,则返回该第一数据至用户端,若服务器在二级缓存中未查找到该第一数据,服务器则再从第一数据库中读取该第一数据。
可选的,服务器可根据第一数据的信息中携带的第一数据的类型和第一数据的标识,将二级缓存或三级缓存中存储的第二数据更新为第一数据。其中,第一数据的类型可以包括第一数据的文件类型,如:HTML、CSS(Cascading Style Sheet,级联样式表)及GIF(GraphicsInterchange Format,图像互换格式)等;第一数据的标识可以包括第一数据的文件名,如1.html,2.gif等。
特别的,本发明实施例中,服务器更新缓存中的第二数据时,服务器可根据用户端请求的第一数据的信息中携带的第一数据的类型和第一数据的标识,对用户端请求的第一数据的信息进行识别,若第一数据的信息为访问第三方的Web服务数据或其他RPC数据的信息,服务器则将三级缓存中存储的第二数据更新为第一数据,否则,服务器将二级缓存中存储的第二数据更新为第一数据。
本发明实施例提供一种缓存更新方法,通过Web服务器获取用户端发送的用户端请求的第一数据的信息,并根据第一数据的信息,从第一数据库中获取第一数据,以及将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。通过该方案,Web服务器一旦获取到用户端发送的用户端请求的第一数据的信息,就可根据用该数据的信息更新缓存中存储的与该数据的信息对应的数据,从而能够实时地更新缓存存储的数据,进而提升Web系统的性能。
实施例三
如图5所示,本发明的实施例提供一种服务器1,该服务器1可以包括:
获取单元10,用于获取用户端发送的所述用户端请求的第一数据的信息,并根据所述第一数据的信息,从第一数据库中获取所述第一数据。
更新单元11,用于将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据。
可选的,所述更新单元11,具体用于根据所述获取单元10获取的所述第一数据的信息,生成过期消息,并根据所述过期消息,删除所述缓存中存储的所述第二数据,以及将所述第一数据存储在所述缓存中,所述过期消息用于指示所述缓存中存储的所述第二数据过期。
可选的,所述获取单元10获取的所述第一数据的信息包括所述第一数据的类型和所述第一数据的标识。
可选的,所述缓存包括二级缓存和三级缓存,所述二级缓存包括Redis,所述三级缓存包括第二数据库。
可选的,所述更新单元11,具体用于根据所述第一数据的类型和所述第一数据的标识,将所述二级缓存或所述三级缓存中存储的所述第二数据更新为所述第一数据。
本发明实施例提供一种服务器,该服务器通过获取用户端发送的用户端请求的第一数据的信息,并根据第一数据的信息,从第一数据库中获取第一数据,以及将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。通过该方案,该服务器一旦获取到用户端发送的用户端请求的第一数据的信息,就可根据该数据的信息,更新缓存中存储的与该数据的信息对应的数据,从而能够实时地更新缓存存储的数据,进而提升Web系统的性能。
实施例四
如图6所示,为本发明实施例提供的服务器的结构示意图,本发明的实施例提供的服务器可以包括:处理器20、存储器21、系统总线22和通信接口23。处理器20、存储器21和通信接口23之间通过系统总线22连接并完成相互间的通信。
处理器20可能为单核或多核中央处理单元,或者为特定集成电路或者为被配置为实施本发明实施例的一个或多个集成电路。
存储器21可以为高速RAM(Random Access Memory,随机存取存储器),也可以为非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
存储器21用于存储服务器指令。具体的,服务器指令可以包括软件程序和软件代码。
具体的,处理器20可用于通过系统总线22从通信接口23获取用户端发送的所述用户端请求的第一数据的信息,并根据所述第一数据的信息,通过系统总线22和通信接口23从第一数据库中获取所述第一数据,以及通过系统总线22将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据;所述存储器21用于存储所述第一数据的信息的软件代码、所述第一数据的软件代码、所述第二数据的软件代码及控制所述处理器20完成上述步骤的软件程序,从而使得所述处理器20通过执行所述软件程序并调用所述软件代码完成上述步骤。
可选的,所述处理器20,具体用于根据所述第一数据的信息,生成过期消息,并根据所述过期消息,删除所述缓存中存储的所述第二数据,以及将所述第一数据存储在所述缓存中,所述过期消息用于指示所述缓存中存储的所述第二数据过期。
可选的,所述处理器20获取的所述第一数据的信息包括所述第一数据的类型和所述第一数据的标识。
可选的,所述缓存包括二级缓存和三级缓存,所述二级缓存包括Redis,所述三级缓存包括第二数据库。
可选的,所述处理器20,具体用于根据所述第一数据的类型和所述第一数据的标识,将所述二级缓存或所述三级缓存中存储的所述第二数据更新为所述第一数据。
本发明实施例提供一种服务器,该服务器通过获取用户端发送的用户端请求的第一数据的信息,并根据第一数据的信息,从第一数据库中获取第一数据,以及将缓存中存储的与第一数据的信息对应的第二数据更新为第一数据。通过该方案,该服务器一旦获取到用户端浏览器发送的用户端请求的第一数据的信息,就可根据该数据的信息,更新缓存中存储的与该数据的信息对应的数据,进而能够实时地更新缓存存储的数据,从而提升Web系统的性能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。另一点,所显示或讨论的相互之间的耦合或直接耦合可以是通过一些接口,装置的间接耦合,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种缓存更新方法,其特征在于,包括:
获取用户端发送的所述用户端请求的第一数据的信息;
根据所述第一数据的信息,从第一数据库中获取所述第一数据;
将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据。
2.根据权利要求1所述的缓存更新方法,其特征在于,所述将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据具体包括:
根据所述第一数据的信息,生成过期消息,所述过期消息用于指示所述缓存中存储的所述第二数据过期;
根据所述过期消息,删除所述缓存中存储的所述第二数据;
将所述第一数据存储在所述缓存中。
3.根据权利要求1或2所述的缓存更新方法,其特征在于,
所述第一数据的信息包括所述第一数据的类型和所述第一数据的标识。
4.根据权利要求1-3任一项所述的缓存更新方法,其特征在于,
所述缓存包括二级缓存和三级缓存,所述二级缓存包括Redis,所述三级缓存包括第二数据库。
5.根据权利要求4所述的缓存更新方法,其特征在于,所述将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据具体包括:
根据所述第一数据的类型和所述第一数据的标识,将所述二级缓存或所述三级缓存中存储的所述第二数据更新为所述第一数据。
6.一种服务器,其特征在于,包括:
获取单元,用于获取用户端发送的所述用户端请求的第一数据的信息,并根据所述第一数据的信息,从第一数据库中获取所述第一数据;
更新单元,用于将缓存中存储的与所述第一数据的信息对应的第二数据更新为所述第一数据。
7.根据权利要求6所述的服务器,其特征在于,
所述更新单元,具体用于根据所述第一数据的信息,生成过期消息,并根据所述过期消息,删除所述缓存中存储的所述第二数据,以及将所述第一数据存储在所述缓存中,所述过期消息用于指示所述缓存中存储的所述第二数据过期。
8.根据权利要求6或7所述的服务器,其特征在于,
所述第一数据的信息包括所述第一数据的类型和所述第一数据的标识。
9.根据权利要求6-8任一项所述的服务器,其特征在于,
所述缓存包括二级缓存和三级缓存,所述二级缓存包括Redis,所述三级缓存包括第二数据库。
10.根据权利要求9所述的服务器,其特征在于,
所述更新单元,具体用于根据所述第一数据的类型和所述第一数据的标识,将所述二级缓存或所述三级缓存中存储的所述第二数据更新为所述第一数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310467506.9A CN103530349A (zh) | 2013-09-30 | 2013-09-30 | 一种缓存更新方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310467506.9A CN103530349A (zh) | 2013-09-30 | 2013-09-30 | 一种缓存更新方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103530349A true CN103530349A (zh) | 2014-01-22 |
Family
ID=49932358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310467506.9A Pending CN103530349A (zh) | 2013-09-30 | 2013-09-30 | 一种缓存更新方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530349A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187521A (zh) * | 2015-08-25 | 2015-12-23 | 努比亚技术有限公司 | 业务处理装置及方法 |
CN105488167A (zh) * | 2015-11-30 | 2016-04-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN106031827A (zh) * | 2015-03-18 | 2016-10-19 | 广州四三九九信息科技有限公司 | 基于redis的游戏服务器数据存储、读取方法及系统 |
CN106294607A (zh) * | 2016-07-29 | 2017-01-04 | 北京奇虎科技有限公司 | 缓存数据的更新方法及更新装置 |
CN106407192A (zh) * | 2015-07-27 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 座位数据处理方法和装置、座位数据查询方法和装置 |
CN107273522A (zh) * | 2015-06-01 | 2017-10-20 | 明算科技(北京)股份有限公司 | 面向多应用的数据存储系统和数据调用方法 |
CN107832163A (zh) * | 2017-11-29 | 2018-03-23 | 努比亚技术有限公司 | 一种缓存更新方法、服务器及计算机可读存储介质 |
CN108536617A (zh) * | 2018-03-30 | 2018-09-14 | 网易宝有限公司 | 缓存管理方法、介质、系统和电子设备 |
CN109284305A (zh) * | 2018-08-23 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 一种数据的更新方法、装置及系统 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN109873858A (zh) * | 2018-12-27 | 2019-06-11 | 中科曙光南京研究院有限公司 | 一种业务数据分布式监控方法和分布式监控集群 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792436B1 (en) * | 2000-02-11 | 2004-09-14 | Persistence Software, Inc. | Method for synchronizing multiple software caches in a memory |
CN101216806A (zh) * | 2008-01-17 | 2008-07-09 | 北京中星微电子有限公司 | 一种数据更新的方法和装置 |
US20110191522A1 (en) * | 2010-02-02 | 2011-08-04 | Condict Michael N | Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory |
CN102279880A (zh) * | 2011-07-28 | 2011-12-14 | 深圳市五巨科技有限公司 | 一种实时更新缓存的方法和系统 |
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
-
2013
- 2013-09-30 CN CN201310467506.9A patent/CN103530349A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792436B1 (en) * | 2000-02-11 | 2004-09-14 | Persistence Software, Inc. | Method for synchronizing multiple software caches in a memory |
CN101216806A (zh) * | 2008-01-17 | 2008-07-09 | 北京中星微电子有限公司 | 一种数据更新的方法和装置 |
US20110191522A1 (en) * | 2010-02-02 | 2011-08-04 | Condict Michael N | Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory |
CN102279880A (zh) * | 2011-07-28 | 2011-12-14 | 深圳市五巨科技有限公司 | 一种实时更新缓存的方法和系统 |
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106031827B (zh) * | 2015-03-18 | 2019-07-12 | 广州四三九九信息科技有限公司 | 基于redis的游戏服务器数据存储、读取方法及系统 |
CN106031827A (zh) * | 2015-03-18 | 2016-10-19 | 广州四三九九信息科技有限公司 | 基于redis的游戏服务器数据存储、读取方法及系统 |
CN107273522B (zh) * | 2015-06-01 | 2020-01-14 | 明算科技(北京)股份有限公司 | 面向多应用的数据存储系统和数据调用方法 |
CN107273522A (zh) * | 2015-06-01 | 2017-10-20 | 明算科技(北京)股份有限公司 | 面向多应用的数据存储系统和数据调用方法 |
CN106407192B (zh) * | 2015-07-27 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 座位数据处理方法和装置、座位数据查询方法和装置 |
CN106407192A (zh) * | 2015-07-27 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 座位数据处理方法和装置、座位数据查询方法和装置 |
CN105187521A (zh) * | 2015-08-25 | 2015-12-23 | 努比亚技术有限公司 | 业务处理装置及方法 |
CN105488167B (zh) * | 2015-11-30 | 2019-12-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN105488167A (zh) * | 2015-11-30 | 2016-04-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN106294607A (zh) * | 2016-07-29 | 2017-01-04 | 北京奇虎科技有限公司 | 缓存数据的更新方法及更新装置 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN107832163A (zh) * | 2017-11-29 | 2018-03-23 | 努比亚技术有限公司 | 一种缓存更新方法、服务器及计算机可读存储介质 |
CN108536617A (zh) * | 2018-03-30 | 2018-09-14 | 网易宝有限公司 | 缓存管理方法、介质、系统和电子设备 |
CN108536617B (zh) * | 2018-03-30 | 2021-03-05 | 网易宝有限公司 | 缓存管理方法、介质、系统和电子设备 |
CN109284305A (zh) * | 2018-08-23 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 一种数据的更新方法、装置及系统 |
CN109873858A (zh) * | 2018-12-27 | 2019-06-11 | 中科曙光南京研究院有限公司 | 一种业务数据分布式监控方法和分布式监控集群 |
CN109873858B (zh) * | 2018-12-27 | 2021-03-30 | 中科曙光南京研究院有限公司 | 一种业务数据分布式监控方法和分布式监控集群 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530349A (zh) | 一种缓存更新方法及设备 | |
US20210044662A1 (en) | Server side data cache system | |
CN101930449B (zh) | 客户机、代理服务器和用于提供云存储器的方法 | |
CN102331986B (zh) | 一种数据库缓存管理方法及一种数据库服务器 | |
CN102541927B (zh) | 一种实现数据缓存的方法和装置 | |
CN102117338B (zh) | 一种数据库缓存的方法 | |
CN104866383A (zh) | 一种接口调用方法、装置及终端 | |
CN109376318B (zh) | 一种页面加载方法、计算机可读存储介质及终端设备 | |
CN105144121A (zh) | 高速缓存内容可寻址数据块以供存储虚拟化 | |
CN109766362B (zh) | 数据处理方法及装置 | |
JP2021501389A (ja) | データ階層記憶及び階層探索方法及び装置 | |
CN102722405B (zh) | 高并发、多线程应用中的计数方法及系统 | |
CN103677654A (zh) | 一种存储数据的方法及电子设备 | |
CN102870100A (zh) | 数据缓存装置、数据存储系统及方法 | |
CN103473326A (zh) | 一种提供搜索建议的方法和装置 | |
CN104331444A (zh) | 一种保护数据库的方法和装置 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
CN102307234A (zh) | 基于移动终端的资源检索方法 | |
CN105335170A (zh) | 分布式系统及数据增量更新方法 | |
CN104657118A (zh) | Native+Web混合移动应用的实现方法及装置 | |
CN103377064A (zh) | 一种页面脚本的加载方法及装置 | |
CN102567339A (zh) | 一种获取起始页的方法、装置和系统 | |
CN111258978A (zh) | 一种数据存储的方法 | |
CN104063431A (zh) | 处理静态资源的方法及设备 | |
CN107506154A (zh) | 一种元数据的读取方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140122 |
|
RJ01 | Rejection of invention patent application after publication |