一种基于缓存的数据处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据存储领域,尤其涉及一种基于缓存的数据处理方法及装置。
【背景技术】
[0002]随着信息技术的发展,互联网已成为人们日常生活、工作中必不可少的部分,人们通过聊天软件交流沟通、浏览网页了解知识和新闻都需要通过互联网进行。
[0003]—般情况下,一个网站或者一个应用的一般运行模式为:浏览器向应用服务器发送数据请求,应用服务器根据请求进行运算后向数据库发送请求,数据库根据请求重新进行运算,运算完成后将数据返回到浏览器。随着互联网的普及,上网的人数和网上的信息量都明显呈上升的趋势,这就使得一个应用需要支撑越来越多的并发量,进而使得该应用的应用服务器和数据库服务器所做的运算数量日益增多。然而每个应用的服务器资源往往是有限的,其数据库每秒接受请求的次数也是有限的,在大数据流量的情况下,服务器资源和数据库资源的限制使得每个应用需要更多的硬件资源以及更长的应用响应时间,导致时间的浪费和硬件资源的过度消耗。
【发明内容】
[0004]有鉴于此,本发明实施例提供一种基于缓存的数据处理方法及装置,以解决现有技术中网络运行速度慢,服务器硬件资源过度消耗的问题。
[0005]第一方面,本发明实施例提供了一种基于缓存的数据处理方法,包括:
[0006]根据从客户端接收的数据处理请求判断缓存器中是否存在与所述数据处理请求匹配的数据;
[0007]若所述缓存器中存在与所述数据处理请求匹配的数据,则从所述缓存器中获取匹配的数据;否则,从预设的数据库中获取与所述数据处理请求匹配的数据,并将从所述数据库中获取的数据发送给所述缓存器使所述缓存器存储接收的数据;
[0008]将获取的匹配的数据发送给所述客户端。
[0009]第二方面,本发明实施例还提供了一种基于缓存的数据处理装置,包括:
[0010]数据判断模块,用于根据从客户端接收的数据处理请求判断缓存器中是否存在与所述数据处理请求匹配的数据;
[0011 ]数据获取模块,用于若所述缓存器中存在与所述数据处理请求匹配的数据,则从所述缓存器中获取匹配的数据;否则,从预设的数据库中获取与所述数据处理请求匹配的数据,并将从所述数据库中获取的数据发送给所述缓存器使所述缓存器存储接收的数据;
[0012]数据发送模块,用于将获取的匹配的数据发送给所述客户端。
[0013]本发明实施例中提供的基于缓存的数据处理方案,当服务器接收到客户端发送的数据处理请求时,首先判断缓存器中是否存在与数据处理请求匹配的数据,即被请求数据,若缓存器中存在被请求数据,则从缓存器中调用被请求数据并将其发送到客户端,否则从数据库中获取被请求数据,将被请求数据发送到客户端,并将被请求数据同步到缓存器中,即,当客户端发送数据请求时,服务器首先从缓存器中调用被请求数据,当缓存器中不存在被请求数据时再从数据库中调用被请求数据,不但可以有效的节省服务器调用数据所需的时间,提高客户端发送数据请求的响应速度,减少用户等待时间,提高用户使用体验,还可以节省硬件资源,使有限的硬件资源可以服务更多的客户,减少扩展硬件资源所需的费用。
【附图说明】
[0014]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0015]图1为本发明实施例一提供的一种基于缓存的数据处理方法的流程示意图;
[0016]图2为本发明实施例二提供的一种基于缓存的数据处理方法的流程示意图;
[0017]图3为本发明实施例二提供的一种基于缓存的数据存储方法的流程示意图;
[0018]图4为本发明实施例三提供的一种基于缓存的数据处理装置的结构框图。
【具体实施方式】
[0019]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0020]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0021 ] 实施例一
[0022]本发明实施例一提供一种基于缓存的数据处理方法,该方法可由本发明实施例所提供的基于缓存的数据处理装置执行,图1是本发明实施例一所提供的基于缓存的数据处理方法的流程示意图,如图1所示,该方法包括:
[0023]S110、根据从客户端接收的数据处理请求判断缓存器中是否存在与所述数据处理请求匹配的数据。
[0024]这里所说的客户端指的是能够发送数据请求和/或能够进行数据处理的应用程序,客户端可以设置在手机、平板电脑、笔记本、台式机等智能终端内。具体的,服务器根据从客户端接收的数据处理请求判断缓存器中是否存在与所述数据处理请求匹配的数据,月艮务器可以是客户端所属智能终端以外的终端设备,也可以是客户端所属智能终端,缓存器可以设置在服务端内。当服务器是客户端所属智能终端以外的终端设备时,服务器可以是内网服务器,也可以是外网服务器;当服务器是客户端所属智能终端时,服务器可以是客户端所属智能终端的处理器。如下主要以服务器是客户端所属智能终端以外的终端设备为例进行介绍。
[0025]客户端请求处理的数据可以是简单的数字,也可以是文字、图像、声音等其他形式的文件。客户端发送的数据处理请求可以包括被请求数据的唯一关键字,唯一关键字可以用来标识不同的数据,每个数据对应的唯一关键字应该是唯一的,每个唯一关键字也只能用来标识一个数据,以便于后续对数据进行处理。
[0026]服务器判断缓存器中是否存在被请求数据时可以根据数据处理请求中包含的被请求数据的唯一关键字来判断,若缓存器中存在该唯一关键字,则说明缓存器中存在被请求数据,否则,说明缓存器中不存在被请求数据。
[0027]S120、若所述缓存器中存在与所述数据处理请求匹配的数据,则从所述缓存器中获取匹配的数据;否则,从预设的数据库中获取与所述数据处理请求匹配的数据,并将从所述数据库中获取的数据发送给所述缓存器使所述缓存器存储接收的数据。
[0028]当服务器是客户端所属智能终端时,数据库指的是客户端所属智能终端的实际存储空间;当服务器不是客户端所属智能终端时,数据库可以设置在服务器中。
[0029]优选的,缓存器可以以键值对(key,value)的形式存储接收到的数据,其中key代表该数据的唯一关键字,value代表需要存储的内容。数据唯一关键字的格式是任意的,用户可以根据需要自行设定,例如用户可以根据自己的需要或习惯,按照自己的规则定义一个类并编写一段程序来定义唯一关键字的格式,程序编写完成后,将程序放入服务器中,重新启动服务器即可重新设置唯一关键字的格式;数据唯一关键字的格式也可以由服务器按照其默认的格式来分配,此处不作限定。
[0030]示例性的,数据唯一关键字