CN111930642A - 缓存管理方法、电子设备以及缓存管理装置 - Google Patents
缓存管理方法、电子设备以及缓存管理装置 Download PDFInfo
- Publication number
- CN111930642A CN111930642A CN202011093763.7A CN202011093763A CN111930642A CN 111930642 A CN111930642 A CN 111930642A CN 202011093763 A CN202011093763 A CN 202011093763A CN 111930642 A CN111930642 A CN 111930642A
- Authority
- CN
- China
- Prior art keywords
- cache data
- cache
- memory
- key name
- data
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种缓存管理方法、电子设备以及缓存管理装置。该方法包括:获取对缓存数据的缓存管理信息,缓存管理信息包括用于查询缓存数据的键名称、缓存数据的加载来源、更新频率以及是否保存内存的设定;按照更新频率周期性地从加载来源读取以键名称查询到的缓存数据,并且将键名称和读取到的缓存数据对应地存储到内存数据库中;当是否保存内存的设定指示为是时,将键名称和读取到的缓存数据存储到内存中;当接收到以键名称为查询参数的对缓存数据的读取指令时,如果是否保存内存的设定指示为是,则根据键名称从内存中读取缓存数据,否则,根据键名称从内存数据库中读取缓存数据。本发明的缓存管理方案能够提高数据读取效率。
Description
技术领域
本发明涉及缓存管理技术领域,具体涉及一种缓存管理方法、电子设备以及缓存管理装置。
背景技术
通常,为了快速的访问和读取数据,需要对数据进行缓存。常见的用于缓存数据的方式包括:A)内存;B)内存数据库(或称缓存数据库),诸如Redis或Memory Cache;另外,存在访问C)除内存数据库之外的其他数据库,包括本地和远程数据库;和/或D)应用程序接口等获取数据并且缓存数据的需要。
根据发明人的经验,在上述读取数据的方式中,内存的访问速度最快(微秒级);内存数据库次之(通常根据网络质量为50ms-100ms);除内存数据库之外的其他数据库(包括远程访问的数据库)更次之,另外如果是通过访问或远程访问应用程序接口以获取数据,则响应速度最慢,可能需要2~3秒左右。现有技术中,通常根据数据存储的位置访问数据,根据上述经验值可知,如果数据存储在内存或内存数据库中,则访问速度尚可,而如果数据存储在其他数据库或者通过应用程序接口获取时,往往对程序运行的流畅性造成一定影响。现有技术中尚未提出对通过上述多种方式访问并缓存的数据进行统一管理的方案,因此,限制了数据读取效率的提高。
申请公布号为CN107943717A的中国发明专利申请记载了一种基于默认配置的缓存管理方法、装置、系统及计算机可读介质,包括:获取缓存方式;判断缓存方式是预设缓存方式(具体为Redis)或是默认缓存方式(具体为java jvm内存);以及根据判断出的缓存方式对缓存数据进行相应方式下的缓存操作。虽然该现有技术文献公开了一种缓存管理方法,但如上所述,该方法本质上是基于设定的缓存方式来管理缓存数据,即,对Redis和jvm内存这两种缓存方式缓存数据实现统一管理,其并未从缓存数据的加载来源(如各种数据库、应用程序接口等)处考虑引入对缓存数据的管理的需要,也未考虑现实应用场景中存在需要从各个加载来源处更新或刷新缓存数据的需要,因此,其并非是一种以效率优先为导向的全面方案,实际应用中在一定程度上限制了数据读取效率的提高。
鉴于此,有必要提出一种缓存管理方案,以效率优先为导向,高效读取数据。
发明内容
本发明的目的在于,提供一种缓存管理方法、电子设备以及缓存管理装置,以解决上述现有技术的缺陷。
根据本发明的一个方案,提供了一种缓存管理方法,包括:获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;当接收到以所述键名称为查询参数的对所述缓存数据读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。
根据实施例的缓存管理方法,如果从所述内存中读取所述缓存数据失败,则根据所述键名称从所述内存数据库中读取所述缓存数据;并且如果从所述内存数据库中读取所述缓存数据失败,则按照所述缓存管理信息包括的所述缓存数据的加载来源,根据所述键名称读取所述缓存数据,将所述键名称和读取到的所述缓存数据存储到所述内存数据库中,并且在所述是否保存内存的设定指示为是的情况下将所述键名称和读取到的所述缓存数据存储到所述内存中。
根据实施例的缓存管理方法,所述缓存数据的加载来源包括除所述内存数据库之外的数据库和应用程序接口中的一个。
根据实施例的缓存管理方法,所述缓存管理信息还包括是否强制刷新的设定,当所述是否强制刷新的设定指示为是时,从所述缓存数据的加载来源重新读取所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中。
根据实施例的缓存管理方法,所述缓存数据的所述键名称为经预定编码方式编码得到的ID号。
根据实施例的缓存管理方法,所述经预定编码方式编码得到的所述ID号包括三个字段,第一字段标示所述缓存数据所属的所属的领域类别,第二字段标示所述缓存数据所属的所述领域类别中包含的子类别,第三字段标示在所述子类别之下对所述缓存数据进一步描述的内容。
本发明的另一方案中,还提供一种电子设备,包括处理器、存储器以及其上存储的计算机可执行代码,其特征在于,当所述处理器执行所述计算机可执行代码时实现上述方法。
本发明的再一方案中,一种缓存管理装置,包括:缓存管理信息获取单元,其被配置为获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;缓存管理单元,其被配置为:按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;以及缓存数据读取单元,其被配置为:当接收到以所述键名称为查询参数的对所述缓存数据读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。
利用本发明提供的缓存管理方法,对于缓存数据均配置了缓存管理信息,并根据缓存管理信息设定缓存数据的读取位置、更新频率和缓存方案,确保了缓存数据的缓存数据能够按照设定定期更新、保存内存等,另外,由于缓存数据均被存储到内存数据库中,并且可能根据设定保存在内存中,当需要获取缓存数据的缓存数据时,可以从内存或内存数据库中快速读取到,相比于在需要时直接从加载来源(其他数据库、应用程序接口(即,API))读取的情况,确保了对缓存数据的读取速度,从而保障了程序运行的流畅性。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本系统或方法的穷尽或排他实施例。
图1是本发明实施例的一种缓存管理方法的流程示意图。
图2是本发明另一实施例的缓存管理方法的流程示意图。
图3是将键名称编码成ID的示意图。
图4是例示出本发明实施例的一种缓存管理装置的框图。
具体实施方式
此处参考附图描述本公开的各种方案以及特征。通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。
本说明书可使用词组“在一个实施例中”、“在一些实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。注意的是,在说明书全文中,相同或相近的附图标记指代相同或相似的元件,并省略不必要的重复描述。此外,具体实施例中,以单数形式出现的元件并不排除可以以多个(复数个)形式出现。
图1是本发明实施例的一种缓存管理方法的流程示意图。如图1所示,缓存管理流程100包括:
步骤S101,获取对缓存数据的缓存管理信息,缓存管理信息包括用于查询缓存数据的键名称、缓存数据的加载来源、更新频率以及是否保存内存的设定。
本发明上下文中,“缓存数据”指的是需要对其做缓存的数据,同时当该需要做缓存的数据存储在内存或内存数据库中(缓存)后,同样称之为“缓存数据”。即,本发明上下文中所称的“缓存数据”自身可能处于不同的存储状态下,包括待从应用程序接口或非内存数据库等加载来源读取(即,尚未完成缓存)的状态,以及已经缓存在内存或内存数据库中的状态。“键名称”对应内存数据库中例如以键-值方式存储的“键”(key)的名称,用于查询缓存数据。在一些实施例中,缓存数据的加载来源包括其他数据库(例如,不属于内存数据库的远程或本地数据库)和应用程序接口(例如,来自第三方的)中的一个。“更新频率”指从缓存数据的加载来源读取缓存数据的频率,可以由开发人员自行定义。“是否保存内存的设定”中,如果为是,则除了将键名称和读取到的缓存数据对应地存储到内存数据库中(后文步骤S103)之外,还将键名称和读取到的缓存数据存储到内存中,这将在后文步骤S105中体现。
步骤S103,按照更新频率周期性地从缓存数据的加载来源读取以键名称查询到的的缓存数据,并且将键名称和读取到的缓存数据对应地存储到内存数据库中。
内存数据库例如为Redis或Memory Cache等。在一个实施例中,采用Redis作为缓存工具,则可以利用Redis的发布订阅功能,发布和订阅数据,并且当Redis集群中一节点的数据发生了变化时,将数据进行更新后发布,其他节点监听后同步数据。由此,可以确保数据读取的效率。
步骤S105,当是否保存内存的设定指示为是时,将键名称和读取到的缓存数据存储到内存中;
当接收到以键名称为查询参数的对所述缓存数据的读取指令时(步骤S107),如果是否保存内存的设定指示为是,则根据键名称从内存中读取缓存数据(步骤S109),否则,根据键名称从内存数据库中读取缓存数据(步骤S111)。
根据本实施例的方法流程,对于缓存数据均配置了缓存管理信息,并根据缓存管理信息设定缓存数据的读取位置、更新频率和缓存方案,确保了缓存数据的缓存数据能够按照设定定期更新、保存内存等,另外,由于缓存数据均被存储到内存数据库中,并且可能根据设定保存在内存中,当需要获取缓存数据时,可以从内存或内存数据库中快速读取到,相比于在需要时直接从缓存数据的加载来源(除内存数据库之外的包括本地和远程的其他数据库、应用程序接口(即,API))读取的情况,确保了对缓存数据的读取速度,从而保障了程序运行的流畅性。
图2是本发明另一实施例的缓存管理方法的流程示意图。如图1所示,缓存管理流程200除了包括与图1实施例的缓存管理流程100对应的步骤S201、S203、S205、S207、S209、S211(为避免不必要的赘述,省略了相同或类似的描述)之外,还包括:
步骤S213,如果从内存中读取缓存数据失败,则根据键名称从内存数据库中读取缓存数据。
也就是说,当是否保存内存的设定指示为是时,从内存中应该能读取到缓存数据,然而,当内存中数据发生异常时,按照缓存管理流程200的步骤S203,缓存数据应当是默认存储在内存数据库。因此,可以从内存数据库中读取缓存数据,实现对数据较为快速的访问。
步骤S215,如果从内存数据库中读取缓存数据失败,则按照缓存管理信息包括的缓存数据的加载来源,根据键名称读取缓存数据,将键名称和读取到的缓存数据存储到内存数据库中,并且在是否保存内存的设定指示为是的情况下将键名称和读取到的缓存数据存储到内存中。
也就是说,当存储在内存数据库中的缓存数据出现不能被读取的异常时,根据缓存管理信息包括的缓存数据的加载来源,读取缓存数据并将其内存数据库中,同时根据是否保存内存的设定情况将缓存数据存储到内存中,从而在下一次调取缓存数据时,能够加速数据读取的速度。
说明的是,上述步骤的编号的次序并不代表对本发明实施例流程的各个步骤的执行先后顺序的限定。在本发明精神和实质的范围内,各步骤的先后次序的更改是可能的,并且这种更改落入本发明权利要求的保护范围之内。
在一个实施例中,缓存管理信息还包括是否强制刷新的设定,当是否强制刷新的设定指示为是时,从缓存数据的加载来源重新读取缓存数据,并且将键名称和读取到的缓存数据对应地存储到内存数据库中。
“强制刷新”指的是在应用实施例的缓存管理流程时,强制性地重新从缓存数据的加载来源获取缓存数据,从而确保缓存数据是新的,此外,在应用了实施例的缓存管理流程之后,依然会按照更新频率对内存数据库中与键名称对应存储的缓存数据进行更新,并且,更新的缓存数据将视保存内存的设定而存储在内存中。
根据该实施例的方案,可以进一步使缓存管理流程符合软件运行的实际需求,保障数据获取的有效性。
在一些实施例中,缓存数据的键名称为经预定编码方式编码得到的ID号。当键名称以ID号表示时,由于键名称在一些情况下被保存在内存中,可以将所存储的内容在内存中按照ID号的编码方式有序存放,从而便于快速取出预定数据,提高数据读取的效率。同样的,当键名称以ID号表示时,由于键名称以ID号的形式被保存在内存数据库中,也便于快速取出预定数据,提高数据读取的效率。
在一些实施例中,经预定编码方式编码得到的ID号包括三个字段,第一字段标示缓存数据所属的领域类别,第二字段标示缓存数据所属的领域类别中包含的子类别(细分类别),第三字段标示在子类别之下对缓存数据进一步描述的内容(细分内容)。
在另一些实施例中,经预定编码方式编码得到的ID号包括两个字段或者四个以上字段。
以三字段编码为例。如图3所示,将“汽车”作为领域类别,编码为“001”,“奥迪”作为汽车品牌之一的子类别,编码为“001”,A1作为细分车型,编码为“001”,A2车型编码为“002”,A3车型编码为“003”。即,奥迪A1在内存或内存数据库中的ID为“001001001”,奥迪A2在内存或内存数据库中的ID为“001001002”,奥迪A2在内存或内存数据库中的ID为“001001003”。类似地,“宝马”作为汽车品牌之一的子类编码例如为“002”,如宝马1系编码为“001002001”,如此可对宝马的各个车型进行编码。对所需应用数据完成上述编码后,可以得到所定义的编码集。根据本发明的实施例,利用定义的编码集,可以快速地获取到所需数据。例如,当需要一次取出所有奥迪车型及车型数据时,符合前六位为“001001”的编码ID,即为奥迪车型,具体可以通过按位比较或者除法运算来判断是否是所需数据。当键数据可以被快速访问时,相应的缓存数据能够被快速读取到。在本示例中,当键数据是与例如奥迪A1对应的ID时,相应的缓存数据即奥迪A1的车型数据,比如车辆尺寸、动力、外观、油耗等一系列数据。在一次取出的数据量比较大的情况下,本发明实施例的快速读取数据方案对程序运行的流畅性是非常有利的。
本发明实施例还提供一种电子设备,包括处理器、存储器以及其上存储的计算机可执行代码。当处理器执行计算机可执行代码时实现上述的任一方法实施例及其变形。电子设备例如为桌面计算机、笔记型电脑、平板电脑、掌上电脑、智能手机、服务器等,并且可适用于本发明实施例的缓存管理方法。
如图4所示,本发明实施例还提供一种缓存管理装置400,包括:缓存管理信息获取单元402、缓存管理单元404以及缓存数据读取单元406。
缓存管理信息获取单元402被配置为获取对缓存数据的缓存管理信息,缓存管理信息包括缓存数据的键名称、缓存数据的加载来源、更新频率以及是否保存内存的设定。
缓存管理单元404被配置为:按照更新频率周期性地从加载来源读取以键名称查询到的缓存数据,并且将键名称和读取到的缓存数据对应地存储到内存数据库中;当是否保存内存的设定指示为是时,将键名称和读取到的缓存数据存储到内存中。
缓存数据读取单元406被配置为:当接收到以键名称为参数的对缓存数据的读取指令时,如果是否保存内存的设定指示为是,则根据键名称从内存中读取缓存数据,否则,根据键名称从内存数据库中读取缓存数据。
根据缓存管理装置400的配置,对于缓存数据均配置了缓存管理信息,并根据缓存管理信息设定缓存数据的读取位置、更新频率和缓存方案,确保了缓存数据的缓存数据能够按照设定定期更新、保存内存等,另外,由于缓存数据均被存储到内存数据库中,并且可能根据设定保存在内存中,当需要获取缓存数据的缓存数据时,可以从内存或内存数据库中快速读取到,相比于在需要时直接从加载来源(除内存数据库之外的其他数据库、应用程序接口(即,API))读取的情况,确保了对缓存数据的读取速度,从而保障了程序运行的流畅性。
在一些实施例中,缓存数据读取单元406可以进一步配置为:如果从内存中读取缓存数据失败,则根据键名称从内存数据库中读取缓存数据;并且如果从内存数据库中读取缓存数据失败,则按照缓存管理信息包括的加载来源,根据键名称读取缓存数据,将键名称和读取到的缓存数据存储到内存数据库中,并且在是否保存内存的设定指示为是的情况下将键名称和读取到的缓存数据存储到内存中。
利用本实施例,当存储在内存数据库中的缓存数据出现不能被读取的异常时,根据缓存管理信息包括的加载来源,读取缓存数据并将其内存数据库中,同时根据是否保存内存的设定情况将缓存数据存储到内存中,从而在下一次调取缓存数据时,能够加速数据读取的速度。
在一些实施例中,缓存管理装置400可以实现为jar文件类型的中间件,并且在缓存管理信息获取单元402中,可以通过预先定义的Java注解类获取对缓存数据的缓存管理信息。jar包形式的中间件可以便于开发人员在项目开发时方便地引入,具有运行效率高、使用方便的优点,由于是压缩格式,不会过多占用设备运行时的内存空间。在另一些实施例中,缓存管理装置400可以实现为独立的系统、工具、服务或组件等其他形式。
在缓存管理装置400的一些实施例中,加载来源包括远程数据库和第三方应用程序接口中的一个。
在缓存管理装置400的另一些实施例中,缓存管理信息还包括是否强制刷新的设定,当是否强制刷新的设定指示为是时,从加载来源重新读取缓存数据,并且将键名称和读取到的缓存数据对应地存储到内存数据库中。
在缓存管理装置400的一些实施例中,缓存数据的键名称为经预定编码方式编码得到的ID号。
在缓存管理装置400的一些实施例中,经预定编码方式编码得到的ID号包括三个字段,第一字段标示缓存数据所属的领域类别,第二字段标示缓存数据所属的领域类别中包含的子类别(细分类别),第三字段标示对在子类别下对缓存数据进一步描述的内容。
在缓存管理装置400的一些实施例中,经预定编码方式编码得到的ID号包括两个或四个以上字段,以实现对键名称的层级描述。
为避免不必要的赘述,关于缓存管理装置400的细节的未详尽描述之处,可参考对应的方法实施例。
这里描述了各种操作或功能,其可以被实现为软件代码或指令或被定义为软件代码或指令。这样的内容可以是可直接执行的源代码或差异代码(“增量”或“块”代码) (“对象”或“可执行”形式)。软件代码或指令可以存储在计算机可读存储介质中,并且当被执行时,可以使机器执行所描述的功能或操作,并且包括用于以机器可访问的形式存储信息的任何机构(例如,计算设备,电子系统等),诸如可记录或不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质,闪存设备等)。
与“包括”、“包含”或“特征在于”同义的术语“包括”是非排他性的或者开放性的,不排除另外的、未叙述的要素或方法步骤。“包括”是权利要求语言中使用的本领域的术语,其意味着所命名的要素是必要的,但是能够添加其他要素并且仍然形成权利要求书的范围内的结构。
如本文所使用的,当在实体列表的上下文中使用术语“和/或”时,是指单独或组合出现的实体。因此,例如,短语“A、B、C、和/或D”分别包括A、B、C和D,但也包括A、B、C和D的任何和所有组合和子组合。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (10)
1.一种缓存管理方法,其特征在于包括:
获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;
按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;
当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;
当接收到以所述键名称为查询参数的对所述缓存数据的读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。
2.根据权利要求1所述的缓存管理方法,其特征在于:
如果从所述内存中读取所述缓存数据失败,则根据所述键名称从所述内存数据库中读取所述缓存数据;并且
如果从所述内存数据库中读取所述缓存数据失败,则按照所述缓存管理信息包括的所述缓存数据的加载来源,根据所述键名称读取所述缓存数据,将所述键名称和读取到的所述缓存数据存储到所述内存数据库中,并且在所述是否保存内存的设定指示为是的情况下将所述键名称和读取到的所述缓存数据存储到所述内存中。
3.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存数据的加载来源包括除所述内存数据库之外的数据库和应用程序接口中的一个。
4.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存管理信息还包括是否强制刷新的设定,当所述是否强制刷新的设定指示为是时,从所述缓存数据的加载来源重新读取所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中。
5.根据权利要求1所述的缓存管理方法,其特征在于,用于查询所述缓存数据的所述键名称为经预定编码方式编码得到的ID号。
6.根据权利要求5所述的缓存管理方法,其特征在于,所述经预定编码方式编码得到的所述ID号包括三个字段,第一字段标示所述缓存数据所属的领域类别,第二字段标示所述缓存数据所属的所述领域类别中包含的子类别,第三字段标示在所述子类别之下对所述缓存数据进一步描述的内容。
7.一种电子设备,包括处理器、存储器以及其上存储的计算机可执行代码,其特征在于,当所述处理器执行所述计算机可执行代码时实现如权利要求1~6中任一项所述的方法。
8.一种缓存管理装置,其特征在于包括:
缓存管理信息获取单元,其被配置为获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;
缓存管理单元,其被配置为:按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;以及
缓存数据读取单元,其被配置为:当接收到以所述键名称为查询参数的对所述缓存数据的读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。
9.根据权利要求8所述的缓存管理装置,其特征在于,所述缓存数据读取单元进一步配置为:
如果从所述内存中读取所述缓存数据失败,则根据所述键名称从所述内存数据库中读取所述缓存数据;并且
如果从所述内存数据库中读取所述缓存数据失败,则按照所述缓存管理信息包括的所述缓存数据的加载来源,根据所述键名称读取所述缓存数据,将所述键名称和读取到的所述缓存数据存储到所述内存数据库中,并且在所述是否保存内存的设定指示为是的情况下将所述键名称和读取到的所述缓存数据存储到所述内存中。
10.根据权利要求8所述的缓存管理装置,其特征在于,所述缓存管理装置实现为jar文件类型的中间件,并且在所述缓存管理信息获取单元中,通过预先定义的Java注解类获取对所述缓存数据的缓存管理信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093763.7A CN111930642A (zh) | 2020-10-14 | 2020-10-14 | 缓存管理方法、电子设备以及缓存管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093763.7A CN111930642A (zh) | 2020-10-14 | 2020-10-14 | 缓存管理方法、电子设备以及缓存管理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930642A true CN111930642A (zh) | 2020-11-13 |
Family
ID=73335161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011093763.7A Pending CN111930642A (zh) | 2020-10-14 | 2020-10-14 | 缓存管理方法、电子设备以及缓存管理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930642A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127490A (zh) * | 2021-04-23 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种键名称生成方法、装置和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172236A1 (en) * | 2002-03-07 | 2003-09-11 | International Business Machines Corporation | Methods and systems for distributed caching in presence of updates and in accordance with holding times |
CN105512129A (zh) * | 2014-09-24 | 2016-04-20 | 中国移动通信集团江苏有限公司 | 一种海量数据检索方法及装置、海量数据存储方法及系统 |
CN107291806A (zh) * | 2017-05-16 | 2017-10-24 | 浙江工业大学 | 一种Web可视化环境中的数据视图副本迭代方法 |
CN107943717A (zh) * | 2017-12-13 | 2018-04-20 | 杭州安恒信息技术有限公司 | 基于默认配置的缓存管理方法、装置、系统及计算机可读介质 |
CN108614847A (zh) * | 2016-12-30 | 2018-10-02 | 北京京东尚科信息技术有限公司 | 一种数据的缓存方法及系统 |
-
2020
- 2020-10-14 CN CN202011093763.7A patent/CN111930642A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172236A1 (en) * | 2002-03-07 | 2003-09-11 | International Business Machines Corporation | Methods and systems for distributed caching in presence of updates and in accordance with holding times |
CN105512129A (zh) * | 2014-09-24 | 2016-04-20 | 中国移动通信集团江苏有限公司 | 一种海量数据检索方法及装置、海量数据存储方法及系统 |
CN108614847A (zh) * | 2016-12-30 | 2018-10-02 | 北京京东尚科信息技术有限公司 | 一种数据的缓存方法及系统 |
CN107291806A (zh) * | 2017-05-16 | 2017-10-24 | 浙江工业大学 | 一种Web可视化环境中的数据视图副本迭代方法 |
CN107943717A (zh) * | 2017-12-13 | 2018-04-20 | 杭州安恒信息技术有限公司 | 基于默认配置的缓存管理方法、装置、系统及计算机可读介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127490A (zh) * | 2021-04-23 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种键名称生成方法、装置和计算机可读存储介质 |
US11941032B2 (en) | 2021-04-23 | 2024-03-26 | Shandong Yingxin Computer Technologies Co., Ltd. | Key name generation method and apparatus and non-transitory computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133234B (zh) | 缓存数据更新的方法、装置及系统 | |
US8972690B2 (en) | Methods and apparatuses for usage based allocation block size tuning | |
WO2020181810A1 (zh) | 应用于集群内多级缓存的数据处理方法和装置 | |
CN104252501B (zh) | 一种执行数据库操作命令的计算设备和方法 | |
CN111124270B (zh) | 缓存管理的方法、设备和计算机程序产品 | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
CN109446225B (zh) | 数据缓存方法、装置、计算机设备及存储介质 | |
CN115757495A (zh) | 缓存数据处理方法、装置、计算机设备及存储介质 | |
CN114553960A (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN111930642A (zh) | 缓存管理方法、电子设备以及缓存管理装置 | |
CN109558121A (zh) | 接口驱动程序的开发方法、装置、设备及存储介质 | |
CN112463073A (zh) | 一种对象存储分布式配额方法、系统、设备和存储介质 | |
CN112395437B (zh) | 一种3d模型的加载方法、装置、电子设备及存储介质 | |
CN111694806A (zh) | 一种事务日志的缓存方法、装置、设备和存储介质 | |
JP2018526740A (ja) | モバイル端末のためのデータ記憶方法及び装置 | |
CN107832121B (zh) | 一种应用于分布式串行长事务的并发控制方法 | |
US11372832B1 (en) | Efficient hashing of data objects | |
CN111506628B (zh) | 数据处理方法及装置 | |
CN114444440A (zh) | 一种标识符生成方法、装置、存储介质及系统 | |
CN114237715A (zh) | 多核访存指令验证系统与方法 | |
CN109388400B (zh) | 一种页面自动生成方法及装置 | |
CN113157628A (zh) | 存储系统、数据处理方法、装置、存储系统及电子设备 | |
CN110895539A (zh) | 一种应用系统的二级缓存方法 | |
CN115328878B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201113 |