CN113886439A - 管理缓存数据的方法、设备及存储介质 - Google Patents
管理缓存数据的方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113886439A CN113886439A CN202111095298.5A CN202111095298A CN113886439A CN 113886439 A CN113886439 A CN 113886439A CN 202111095298 A CN202111095298 A CN 202111095298A CN 113886439 A CN113886439 A CN 113886439A
- Authority
- CN
- China
- Prior art keywords
- cache data
- function
- operation function
- service
- data operation
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种管理缓存数据的方法、设备及存储介质,属于互联网技术领域。所述方法包括:获取目标业务对应的业务执行程序;确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数;在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,得到第二缓存数据操作函数;执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息;将所述第二缓存数据操作函数的执行信息发送至管理设备。采用本申请能够降低技术人员的工作量,提高开发效率。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种管理缓存数据的方法、设备及存储介质。
背景技术
随着互联网和大数据技术的发展,服务器中需要处理的业务和数据也越来越多。例如,在网购应用程序对应的后台服务器中,每天都需要处理大量的网购订单,在处理每个网购订单时,又需要获取与订单相关的数据,如用户数据和商家数据等。
在相关的技术中,为了提高服务器处理各种业务的效率,在各业务对应的业务执行程序运行之后,可以在业务执行程序对应的运行内存中设置cache(服务器缓存)。然后可以从数据存储服务器中获取处理对应业务时需要的业务数据。当需要处理对应的业务时,可以直接从cache中读取对应的业务数据,能够提高获取业务数据的速度,从而可以提高服务器处理对应业务的效率。
在实际应用中,技术人员除了要在处理业务的程序代码中编写在cache中对业务数据进行存取等操作的函数(缓存数据操作函数)外,还需要设置对cache中的业务数据进行管理的管理函数,例如确定各cache中不同的业务数据的读取次数、读取失败次数等等,以用于后续对缓存数据操作函数的优化。这样就需要技术人员对存在cache中的每个业务数据编写对应的管理函数,如此,也增加了技术人员的工作量,导致开发效率变低。
发明内容
本申请实施例提供了一种管理缓存数据的方法、设备及存储介质,能够降低技术人员的工作量,提高技术人员的开发效率。所述技术方案如下:
第一方面,提供了一种管理缓存数据的方法,所述方法包括:
获取目标业务对应的业务执行程序;
确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数;
在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,得到第二缓存数据操作函数;
执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息;
将所述第二缓存数据操作函数的执行信息发送至管理设备。
可选的,所述确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数,包括:
基于所述业务执行程序中包括的业务类型标识,确定所述目标业务所属的业务类型;
在预设的业务类型和缓存数据操作函数的对应关系中,确定所述目标业务对应的第一缓存数据操作函数。
可选的,所述执行信息包括函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名中的至少一种。
可选的,所述第一缓存数据操作函数包括缓存数据写入函数、缓存数据读取函数、缓存数据删除函数中的至少一种;
所述在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,包括:
基于管理程序和程序添加位置的对应关系,确定将管理程序在所述第一缓存数据操作函数中的目标添加位置;
在所述第一缓存数据操作函数的目标添加位置添加所述管理程序。
可选的,所述第一缓存数据操作函数为缓存数据读取函数,所述执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息,包括:
确定所述第二缓存数据操作函数读取的缓存数据所属的目标业务对象;
确定所述目标业务对象对应的缓存数据的读取次数;
所述方法还包括:
在所述每个业务对象对应的缓存数据的读取次数,确定对应读取次数最高的预设数目个业务对象的业务对象标识;
将所述预设数目个业务对象标识发送至管理终端。
可选的,所述获取目标业务对应的业务执行程序之后,所述方法还包括:
基于所述业务执行程序,确定所述目标业务的缓存数据的属性信息,所述属性信息中包括所述目标业务的缓存数据的数据源信息、数据名、数据结构中的至少一种;
将所述目标业务的缓存数据的属性信息发送管理设备,所述管理设备用于对接收到的所述第一缓存数据操作函数的函数名以及所述缓存数据的属性信息进行显示。
可选的,所述方法还包括:
接收所述管理设备发送的缓存数据操作函数的操作指令,所述操作指令中携带有目标业务的缓存数据对应的数据标识;
基于所述数据标识执行所述目标缓存数据操作函数。
第二方面,提供了一种管理缓存数据的装置,所述装置包括:
获取模块,用于获取目标业务对应的业务执行程序;
确定模块,用于确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数;
添加模块,用于在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,得到第二缓存数据操作函数;
执行模块,用于执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息;
发送模块,用于将所述第二缓存数据操作函数的执行信息发送至管理设备。
可选的,所述确定模块,用于:
基于所述业务执行程序中包括的业务类型标识,确定所述目标业务所属的业务类型;
在预设的业务类型和缓存数据操作函数的对应关系中,确定所述目标业务对应的第一缓存数据操作函数。
可选的,所述执行信息包括函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名中的至少一种。
可选的,所述第一缓存数据操作函数包括缓存数据写入函数、缓存数据读取函数、缓存数据删除函数中的至少一种;
所述添加模块用于:
基于管理程序和程序添加位置的对应关系,确定将管理程序在所述第一缓存数据操作函数中的目标添加位置;
在所述第一缓存数据操作函数的目标添加位置添加所述管理程序。
可选的,所述第一缓存数据操作函数为缓存数据读取函数,所述执行模块用于:
确定所述第二缓存数据操作函数读取的缓存数据所属的目标业务对象;
确定所述目标业务对象对应的缓存数据的读取次数;
所述确定模块还用于:
在所述每个业务对象对应的缓存数据的读取次数,确定对应读取次数最高的预设数目个业务对象的业务对象标识;
将所述预设数目个业务对象标识发送至管理终端。
可选的,所述确定模块还用于:
基于所述业务执行程序,确定所述目标业务的缓存数据的属性信息,所述属性信息中包括所述目标业务的缓存数据的数据源信息、数据名、数据结构中的至少一种;
将所述目标业务的缓存数据的属性信息发送管理设备,所述管理设备用于对接收到的所述第一缓存数据操作函数的函数名以及所述缓存数据的属性信息进行显示。
可选的,所述执行模块还用于:
接收所述管理设备发送的缓存数据操作函数的操作指令,所述操作指令中携带有目标业务的缓存数据对应的数据标识;
基于所述数据标识执行所述目标缓存数据操作函数。
第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如第一方面所述的管理缓存数据的方法所执行的操作。
第四方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如第一方面所述的管理缓存数据的方法所执行的操作。
第五方面,提供了一种计算机程序产品,其特征在于,所述计算机程序产品中包括至少一条指令,所述至少一条指令由处理器加载并执行以实现如第一方面所述的管理缓存数据的方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例,通过在目标业务对应的业务执行程序中,确定对目标业务的缓存数据进行操作的第一缓存数据操作函数,然后在第一缓存数据操作函数中添加用于确定函数的执行信息的管理程序,得到第二缓存数据操作函数。这样第二缓存数据操作函数执行后,第二缓存数据操作函数中管理程序可以得到函数的执行信息,然后将相应的执行信息发送至管理设备。可见采用本申请,无需技术人员对每个业务都编写对应存储在cache中业务数据对应的管理函数,便可以得到缓存数据操作函数对应的执行信息,能够降低技术人员的工作量,提高开发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种管理缓存数据的方法流程图;
图2是本申请实施例提供的一种管理缓存数据的方法示意图;
图3是本申请实施例提供的一种管理缓存数据的方法示意图;
图4是本申请实施例提供的一种管理缓存数据的装置结构示意图;
图5是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的管理缓存数据的方法可以由服务器实现。该服务器可以是各种应用程序、网站等对应的后台服务器,可用于处理对应应用程序、网站所提供的业务,如订单业务、广告推送业务、视频播放业务等等。该服务器可具备处理器和存储器。存储器中可以存储有实现本申请提供的管理缓存数据的方法对应的执行程序,处理器可以执行存储器中存储的执行程序,进而实现本申请提供的管理缓存数据的方法。另外,该服务器可以是一个单独的服务器也可以是一个服务器组,如果是单独的服务器,该服务器可以负责下述方案中的所有处理,如果是服务器组,服务器组中的不同服务器分别可以负责下述方案中的不同处理,具体的处理分配情况可以由技术人员根据实际需求任意设置,此处不再赘述。
随着互联网和大数据技术的发展,服务器中需要处理的业务和数据也越来越多。例如,在网购应用程序对应的后台服务器中,每天都需要处理大量的网购订单,在处理每个网购订单时,又需要获取与订单相关的数据,如用户数据和商家数据等。
技术人员为了提高服务器处理各种业务的效率,在各业务对应的业务执行程序运行之后,可以在业务执行程序对应的运行内存中设置cache(服务器缓存)。然后可以从数据存储服务器中获取处理对应业务时需要的业务数据。当需要处理对应的业务时,可以直接从cache中读取对应的业务数据。由于cache设置在内存中,从内存中读取数据的速度远高于从硬盘以及其他服务器中读取数据的速度。因此,从cache中读取对应的业务数据能够提高获取业务数据的速度,从而可以提高服务器处理对应业务的效率。
对于每个业务,如订单业务、广告推送业务、视频播放业务等,在其对应的业务执行程序的运行内存中设置cache。在技术人员设置对应的cache,还需要设置对cache中的数据进行管理的程序,例如确定cache不同的业务数据的读取次数、读取失败次数等等,以用于后续对缓存数据操作函数的优化。这样就需要技术人员对存在cache中的每个业务数据编写对应的管理函数,如此,也增加了技术人员的工作量,导致开发效率变低。
图1是本申请实施例提供的一种管理缓存数据的方法流程图。参见图2,该实施例包括:
步骤101、获取目标业务对应的业务执行程序。
其中,目标业务可以是任一设置有cache的业务。业务执行程序为技术人员编写的处理对应业务的程序代码。
在执行步骤101之前,可以将目标业务对应的业务执行程序接入SDK(软件开发工具包,Software Development Kit),该SDK可以理解为一段处理程序,用于实现本实施例流程中的步骤101-104的处理。该SDK可以由技术人员开发,预先接入到目标业务的业务执行程序中,在触发服务器运行业务执行程序时,可先触发执行SDK,获取业务执行程序对应的程序代码。
步骤102、确定业务执行程序中,对目标业务的缓存数据进行操作的第一缓存数据操作函数。
对于设置cache用来存储缓存数据的业务,其对应的业务操作程序中可以设置有对cache中的缓存数据进行读、写、更改、删除的缓存数据操作函数。对于在不同的业务执行程序中具有同样操作功能的缓存数据操作函数,可以设置为相同的函数名。
SDK可以获取业务执行程序对应的程序代码后,可以根据每个缓存数据操作函数的函数名,确定目标业务对应的业务执行程序中包括的各缓存数据操作函数(第一缓存数据操作函数)。
具体的,在SDK中可以通过Spring Boot Auto Configuration(技术动态读取配置),对于不同的cache实现方式,引入相关的Instrumentation包自动扫描目标业务对应业务执行程序中的缓存实现,即通过相应的Instrumentation对获取的程序代码进行扫描得到用于对cache中业务数据进行读、写、更改、删除等处理的第一缓存数据操作函数。其中,cache实现方式是指在业务执行程序对应的运行内存中设置cache方法,例如可以通过guavaCache、springCache等在运行内存中设置cache。
可选的,对于确定第一缓存数据操作函数的处理还可以如下:
基于业务执行程序中包括的业务类型标识,确定目标业务所属的业务类型;在预设的业务类型和缓存数据操作函数的对应关系中,确定目标业务对应的第一缓存数据操作函数。
在实施中,不同业务类型的服务器不同的业务设置的缓存数据操作函数可能不同,技术人员可预先设置不同的业务类型与缓存数据操作函数的函数名的对应关系。SDK可以对获取的业务程序的代码进行扫描,确定当前目标业务的业务类型,例如可以是订单业务、广告推送业务、视频播放业务等,然后根据预设的对应关系,确定目标业务的业务类型对应的缓存数据操作函数的函数名,即第一缓存数据操作函数。
在一种可能的实现方式中,基于业务执行程序,确定目标业务的缓存数据的属性信息,属性信息中包括目标业务的缓存数据的数据源信息、数据名、数据结构中的至少一种。
在实施中,SDK在对业务执行程序的代码扫描后,得到的扫描结果中还可以包括目标业务的缓存数据的数据源信息、数据名、数据结构以及存储目标业务的缓存数据的服务器地址等。其中,缓存数据的数据源信息可以是存储目标业务缓存数据数据库,缓存数据的数据结构可以是组成缓存数据的各字段。
步骤103、在第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,得到第二缓存数据操作函数。
其中,第一缓存数据操作函数可以包括缓存数据写入函数、缓存数据读取函数、缓存数据删除函数中的至少一种,函数的执行信息可以包括函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名中的至少一种。其中调用缓存数据操作函数的其他函数的函数名可以是调用对应缓存数据操作函数的接口。
SDK中可以预先存储用于确定函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名的程序代码(即管理程序)。在确定第一缓存操作函数之后,SDK可以将存储的管理程序添加到第一缓存数据操作函数中,得到添加处理后的缓存数据操作函数,即得到第二缓存数据操作函数。
可选的,在第一缓存数据操作函数中添加管理程序的处理可以如下:
基于管理程序和程序添加位置的对应关系,在第一缓存数据操作函数中确定添加管理程序的目标添加位置;在第一缓存数据操作函数的目标添加位置添加管理程序。
在实施中,技术人员可以根据每个管理程序实现的功能,设置相应的管理程序在缓存数据操作函数中的添加位置。其中,对于同一段管理程序中的不同代码,可以对应有不同的添加位置。下面对不同管理程序,以及对应的添加位置进行举例:
对于确定函数执行次数的管理程序,可以是一段实现累加功能的代码。每当该代码执行时,代码中设置的变量可以加一。对应在缓存数据操作函数中的添加位置,可以是在缓存数据操作函数中的第一行。这样将管理程序插入到第一行后,每当缓存数据操作函数开始执行,管理程序中就可以实现对函数的执行次数加一。
对于确定函数执行时长的管理程序,可以是一段实现计时功能的代码。当缓存函数开始执行时可以启动计时,当缓存函数执行结束时可以停止计时,进而得到函数执行时长。对应的添加位置可以分别是缓存操作函数中的第一行和最后一行。
对于确定函数执行结果的管理程序,可以是一段实现对执行结果进行判断、记录的代码。当缓存数据操作函数为缓存数据读取函数时,对应的执行结果可以是从cache中读取到缓存数据,或,未从cache中读取到缓存数据。具体的,管理程序可以根据缓存数据读取函数在执行后返回的执行结果,确定缓存数据读取函数是否从cache中读取到缓存数据。对应的添加位置可以分别是缓存操作函数中的最后一行。
对于确定调用缓存数据操作函数的其他函数的函数名中的管理程序,可以是一段实现写操作的代码。其中,调用缓存数据操作函数的其他函数即为调用缓存数据操作函数的接口,各接口在调用缓存数据操作函数可以向缓存数据操作函数中传入相关的调用信息,其中可以包括接口的接口名。技术人员可以将该管理程序可以与确定函数执行次数的管理程序设置为同一段代码,可添加在缓存数据操作函数中的第一行。这样将管理程序插入到第一行后,每当缓存数据操作函数开始执行,管理程序中就可以实现对函数的执行次数加一,并记录调用缓存数据操作函数接口的接口名。另外,在调用信息中还可以包括对应接口需要读取的目标业务数据所属的业务对象的业务对象标识,例如可以是用户的ID(Identity document,身份标识号)、商家的ID等。因此在该管理程序还可以记录每次接口读取的业务数据所属的业务对象的业务对象标识,并且可以对记录每个业务对象标识对应业务对象被读取的次数。
步骤104、执行添加处理后的第一缓存数据操作函数,得到添加处理后的缓存数据操作函数的执行信息。
其中,SDK可以将上述程序代码插入到,确定的第一缓存数据操作函数中,得到第二缓存数据操作函数。这样第二缓存数据操作函数在执行后,第二缓存数据操作函数中包括的管理程序,可以确定函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名。在实际处理中,第二缓存数据操作函数相当于第一缓存数据操作函数,仅是多了添加的管理程序对应的程序代码,对应的函数名和除管理程序之外的程序代码可以都相同。也就是当在业务执行程序中,当触发执行第一存储数据操作函数时,实际是触发了第二存储操作函数。
当触发执行第二缓存操作函数后,在第二缓存操作函数中插入的操作函数也会被执行,进而确定第二缓存数据操作函数对应的执行信息。例如确定第二缓存数据操作函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名等。
根据确定的缓存数据操作函数执行次数、函数执行结果、函数执行时长等,还可以计算缓存命中率、缓存失效计数等。其中,缓存命中率可以是函数执行结果为成功的数目与函数执行次数的比值,缓存失效计数可以是函数执行结果为失败的次数。
在一种可实现的方式中,管理程序还可以用于确定读取的缓存数据所属的目标业务对象;确定目标业务对象对应的缓存数据的读取次数。
在实施中,当第一缓存数据操作函数为缓存数据读取函数时,其他函数可以通过调用缓存数据读取函数,读取cache中存储的业务数据。在cache中存储的业务数据可所属于不同的业务对象。例如业务为订单业务时,对应的业务对象可以是用户或商家,存储的业务数据可以是用户的相关数据或商家的相关数据。缓存数据读取函数在读取cache中的业务数据时,管理程序可以确定并记录当前读取的业务数据所属的业务对象。例如可以通过调用缓存数据读取函数的指令中获取指令中携带的业务对象标识,如可以是用户ID、商家ID等。在存储对应的业务对象后,可以确定该业务对象的业务数据被读取的次数。
这样,可以将业务对象对应的业务数据被读取的次数发送至管理设备之后,可以确定读取次数较多的业务对象,进而可以改进缓存数据写入函数,例如每次在对应的业务执行程序开始执行后,可以先控制缓存数据写入函数将确定的读取次数较多的业务对象的业务数据写入到cache中。
步骤105、将第二缓存数据操作函数的执行信息发送至管理设备。
其中,其中该管理设备可以是服务器或终端。当该管理设备为服务器时,该服务器可称为管理服务器。管理服务器可以周期性的执行上述步骤101-105的业务服务器发送缓存数据操作函数的执行信息对应的获取通知。业务服务器在接收到对应的获取通知后,可以将当前确得到的缓存操作函数的执行信息发送至管理服务器。其中,执行信息中可以包括目标业务对应的缓存数据操作函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的接口等。或者,还可包括根据函数执行次数、函数执行结果计算的缓存命中率、缓存失效计数等。
管理服务器可以将接收到的执行信息发送至管理终端,以使管理终端对执行信息进行可视化显示。
另外,业务服务器还可以将目标业务对应的缓存数据的属性信息发送管理服务器,由管理服务器,将目标业务对应的缓存数据的属性信息转发至管理终端,或者业务服务器直接将目标业务对应的缓存数据发送至管理终端,以使管理终端对接收到的目标业务的缓存数据的属性信息以及执行信息进行可视化显示。
如图2所示,图2是管理终端提供的可视化显示界面,该可视化显示界面中,可以包括不同业务对应的业务名称。用户可以通过点击对应的业务名称,查看对应业务的缓存数据操作函数的执行信息和目标业务的缓存数据的属性信息等。
另外,管理设备在接收到服务器发送的第二缓存数据操作函数的执行信息后,可以根据第二缓存数据操作函数的执行信息,向服务器发送的对缓存数据操作函数的操作指令,在操作指令中携带有目标业务的缓存数据对应的数据标识。服务器可以接收管理设备发送的缓存数据操作函数的操作指令,基于数据标识执行目标缓存数据操作函数。
在管理终端还提供了一种查询缓存数据的方法,如图3所示,用户可以在根据调用缓存操作函数的接口、数据源、缓存数据的数据名称、对应cache的实现类型,查询缓存数据的相关信息。进一步在查询到的缓存数据的数据结构后,还可以根据缓存数据对应的缓存数据操作函数,对缓存数据进行查询、删除等操作。如在图3中,用户可以根据调用缓存操作函数的接口、数据源、缓存数据的数据名称、对应cache的实现类型中的至少一项查询缓存数据。在查询到对应的缓存数据后,用户可以在对应的缓存数据操作框中,输入缓存数据对应的数据标识,其中,当缓存数据为KV对(Key-value,键值对)时,对应的数据标识可以是数据对应的K值,该K值可以是缓存数据所属业务对象的对象标识,例如可以是用户ID、商家ID等。在缓存数据操作框中,输入缓存数据对应的数据标识后,可以点击相应的操作选项,例如查询选项、删除选项等,触发向服务器发送的对缓存数据操作函数的操作指令,在操作指令中携带有目标业务的缓存数据对应的数据标识。服务器可以接收管理设备发送的缓存数据操作函数的操作指令,基于数据标识(如缓存数据对应的K值)执行目标缓存数据操作函数,目标缓存数据操作函数可以为操作选项对应的存数据操作函数,例如查询选项对应缓存数据读取函数、删除选项对应缓存数据删除函数等。
本申请实施例,通过确定目标业务对应的业务执行程序中,对缓存数据进行操作的第一缓存数据操作函数,然后在第一缓存数据操作函数中添加用于确定的函数的执行信息的管理程序,进而得到添加处理后的第一缓存数据操作函数(即第二缓存数据操作函数)。这样当触发添加处理后的第一缓存数据操作函数执行后,可以通过添加的管理程序确定第一缓存数据操作函数的执行信息,并可以发送至管理终端。可见采用本申请,不需要技术人员对每个业务都编写对应的管理缓存数据的程序,通过在缓存数据操作函数中插入代码,既可以实现对缓存数据的管理。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图4是本申请实施例提供的一种管理缓存数据的装置,该装置可以是上述实施例中的服务器,参见图4,该装置包括:
获取模块410,用于获取目标业务对应的业务执行程序;
确定模块420,用于确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数;
添加模块430,用于在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,得到所述添加处理后的第二缓存数据操作函数;
执行模块440,用于执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息;
发送模块450,用于将所述第二缓存数据操作函数的执行信息发送至管理设备。
可选的,所述确定模块,用于:
基于所述业务执行程序中包括的业务类型标识,确定所述目标业务所属的业务类型;
在预设的业务类型和缓存数据操作函数的对应关系中,确定所述目标业务对应的第一缓存数据操作函数。
可选的,所述执行信息包括函数执行次数、函数执行结果、函数执行时长以及调用缓存操作函数的其他函数的函数名中的至少一种。
可选的,所述第一缓存数据操作函数包括缓存数据写入函数、缓存数据读取函数、缓存数据删除函数中的至少一种;
所述添加模块用于:
基于缓存数据操作函数和程序添加位置的对应关系,在所述第一缓存数据操作函数中确定添加管理程序的目标添加位置;
在所述第一缓存数据操作函数的目标添加位置添加所述管理程序。
可选的,所述第一缓存数据操作函数为缓存数据读取函数,所述执行模块用于:
确定读取的缓存数据所属的目标业务对象;
确定所述目标业务对象对应的缓存数据的读取次数;
所述确定模块还用于:
在所述每个业务对象对应的缓存数据的读取次数,确定对应读取次数最高的预设数目个业务对象的业务对象标识;
将所述预设数目个业务对象标识发送至管理终端。
可选的,所述确定模块还用于:
基于所述业务执行程序,确定所述目标业务的缓存数据的属性信息,所述属性信息中包括所述目标业务的缓存数据的数据源信息、数据名、数据结构中的至少一种;
将所述目标业务的缓存数据的属性信息发送管理设备,所述管理设备用于对接收到的所述第一缓存数据操作函数的函数名以及所述缓存数据的属性信息进行显示。
可选的,所述执行模块还用于:
接收所述管理设备发送的缓存数据操作函数的操作指令,所述操作指令中携带有目标业务的缓存数据对应的数据标识;
基于所述数据标识执行所述目标缓存数据操作函数。
需要说明的是:上述实施例提供的管理缓存数据的装置在管理缓存数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的管理缓存数据的装置与管理缓存数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本申请实施例提供的一种服务器的结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,cpu)501和一个或一个以上的存储器502,其中,所述存储器502中存储有至少一条指令,所述至少一条指令由所述处理器501加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中管理缓存数据的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是ROM(read-onlymemory,只读存储器)、RAM(random access memory,随机存取存储器)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种管理缓存数据的方法,其特征在于,所述方法包括:
获取目标业务对应的业务执行程序;
确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数;
在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,得到第二缓存数据操作函数;
执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息;
将所述第二缓存数据操作函数的执行信息发送至管理设备。
2.根据权利要求1所述的方法,其特征在于,所述确定所述业务执行程序中,对所述目标业务的缓存数据进行操作的第一缓存数据操作函数,包括:
基于所述业务执行程序中包括的业务类型标识,确定所述目标业务所属的业务类型;
在预设的业务类型和缓存数据操作函数的对应关系中,确定所述目标业务对应的第一缓存数据操作函数。
3.根据权利要求1所述的方法,其特征在于,所述执行信息包括函数执行次数、函数执行结果、函数执行时长以及调用缓存数据操作函数的其他函数的函数名中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述第一缓存数据操作函数包括缓存数据写入函数、缓存数据读取函数、缓存数据删除函数中的至少一种;
所述在所述第一缓存数据操作函数中,添加用于确定函数的执行信息的管理程序,包括:
基于管理程序和程序添加位置的对应关系,确定将管理程序在所述第一缓存数据操作函数中的目标添加位置;
在所述第一缓存数据操作函数的目标添加位置添加所述管理程序。
5.根据权利要求1所述的方法,其特征在于,所述第一缓存数据操作函数为缓存数据读取函数,所述执行所述第二缓存数据操作函数,得到所述第二缓存数据操作函数的执行信息,包括:
确定所述第二缓存数据操作函数读取的缓存数据所属的目标业务对象;
确定所述目标业务对象对应的缓存数据的读取次数;
所述方法还包括:
在所述每个业务对象对应的缓存数据的读取次数,确定对应读取次数最高的预设数目个业务对象的业务对象标识;
将所述预设数目个业务对象标识发送至管理终端。
6.根据权利要求1所述的方法,其特征在于,所述获取目标业务对应的业务执行程序之后,所述方法还包括:
基于所述业务执行程序,确定所述目标业务的缓存数据的属性信息,所述属性信息中包括所述目标业务的缓存数据的数据源信息、数据名、数据结构中的至少一种;
将所述目标业务的缓存数据的属性信息发送管理设备,所述管理设备用于对接收到的所述第一缓存数据操作函数的函数名以及所述缓存数据的属性信息进行显示。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述管理设备发送的缓存数据操作函数的操作指令,所述操作指令中携带有目标业务的缓存数据对应的数据标识;
基于所述数据标识执行所述目标缓存数据操作函数。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至权利要求7任一项所述的管理缓存数据的方法所执行的操作。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的管理缓存数据的方法所执行的操作。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中包括至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的管理缓存数据的方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095298.5A CN113886439A (zh) | 2021-09-17 | 2021-09-17 | 管理缓存数据的方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095298.5A CN113886439A (zh) | 2021-09-17 | 2021-09-17 | 管理缓存数据的方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886439A true CN113886439A (zh) | 2022-01-04 |
Family
ID=79009827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111095298.5A Pending CN113886439A (zh) | 2021-09-17 | 2021-09-17 | 管理缓存数据的方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886439A (zh) |
-
2021
- 2021-09-17 CN CN202111095298.5A patent/CN113886439A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105827706B (zh) | 消息推送装置及方法 | |
CN111464615B (zh) | 请求处理方法、装置、服务器及存储介质 | |
CN111414389B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US11048423B2 (en) | Method and system for synchronizing requests related to key-value storage having different portions | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
CN109842621B (zh) | 一种减少token存储数量的方法及终端 | |
US11210198B2 (en) | Distributed web page performance monitoring methods and systems | |
CN111382182A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107357794B (zh) | 优化键值数据库的数据存储结构的方法和装置 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
US11222022B2 (en) | Method and system for searching a key-value storage | |
CN110515979B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN110233843B (zh) | 一种用户请求的处理方法及装置 | |
CN110928885B (zh) | Mysql数据库的数据更新到Es数据库的方法及装置 | |
CN115914387A (zh) | 资源共享及数据查询的方法、装置和服务器 | |
CN113886439A (zh) | 管理缓存数据的方法、设备及存储介质 | |
CN116028696A (zh) | 资源信息获取方法、装置、电子设备及存储介质 | |
CN115795100A (zh) | 用户事件处理方法、装置、电子设备及可读存储介质 | |
CN113274736A (zh) | 云游戏资源调度方法、装置、设备及存储介质 | |
CN112181391A (zh) | 一种可动态扩展数据的方法及系统 | |
CN110851517A (zh) | 一种源数据抽取方法、装置、设备及计算机存储介质 | |
CN114385637A (zh) | 消息处理方法、装置、电子设备以及存储介质 | |
US8423532B1 (en) | Managing data indexed by a search engine | |
CN112434042A (zh) | 数据关系的构建方法、装置、电子设备及存储介质 | |
CN117294724A (zh) | 云资源同步方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |