本发明专利技术涉及一种缓存管理方法、电子设备以及缓存管理装置。该方法包括:获取对缓存数据的缓存管理信息,缓存管理信息包括用于查询缓存数据的键名称、缓存数据的加载来源、更新频率以及是否保存内存的设定;按照更新频率周期性地从加载来源读取以键名称查询到的缓存数据,并且将键名称和读取到的缓存数据对应地存储到内存数据库中;当是否保存内存的设定指示为是时,将键名称和读取到的缓存数据存储到内存中;当接收到以键名称为查询参数的对缓存数据的读取指令时,如果是否保存内存的设定指示为是,则根据键名称从内存中读取缓存数据,否则,根据键名称从内存数据库中读取缓存数据。本发明专利技术的缓存管理方案能够提高数据读取效率。
Cache management method, electronic equipment and cache management device
【技术实现步骤摘要】
缓存管理方法、电子设备以及缓存管理装置
本专利技术涉及缓存管理
,具体涉及一种缓存管理方法、电子设备以及缓存管理装置。
技术介绍
通常,为了快速的访问和读取数据,需要对数据进行缓存。常见的用于缓存数据的方式包括:A)内存;B)内存数据库(或称缓存数据库),诸如Redis或MemoryCache;另外,存在访问C)除内存数据库之外的其他数据库,包括本地和远程数据库;和/或D)应用程序接口等获取数据并且缓存数据的需要。根据专利技术人的经验,在上述读取数据的方式中,内存的访问速度最快(微秒级);内存数据库次之(通常根据网络质量为50ms-100ms);除内存数据库之外的其他数据库(包括远程访问的数据库)更次之,另外如果是通过访问或远程访问应用程序接口以获取数据,则响应速度最慢,可能需要2~3秒左右。现有技术中,通常根据数据存储的位置访问数据,根据上述经验值可知,如果数据存储在内存或内存数据库中,则访问速度尚可,而如果数据存储在其他数据库或者通过应用程序接口获取时,往往对程序运行的流畅性造成一定影响。现有技术中尚未提出对通过上述多种方式访问并缓存的数据进行统一管理的方案,因此,限制了数据读取效率的提高。申请公布号为CN107943717A的中国专利技术专利申请记载了一种基于默认配置的缓存管理方法、装置、系统及计算机可读介质,包括:获取缓存方式;判断缓存方式是预设缓存方式(具体为Redis)或是默认缓存方式(具体为javajvm内存);以及根据判断出的缓存方式对缓存数据进行相应方式下的缓存操作。虽然该现有技术文献公开了一种缓存管理方法,但如上所述,该方法本质上是基于设定的缓存方式来管理缓存数据,即,对Redis和jvm内存这两种缓存方式缓存数据实现统一管理,其并未从缓存数据的加载来源(如各种数据库、应用程序接口等)处考虑引入对缓存数据的管理的需要,也未考虑现实应用场景中存在需要从各个加载来源处更新或刷新缓存数据的需要,因此,其并非是一种以效率优先为导向的全面方案,实际应用中在一定程度上限制了数据读取效率的提高。鉴于此,有必要提出一种缓存管理方案,以效率优先为导向,高效读取数据。
技术实现思路
本专利技术的目的在于,提供一种缓存管理方法、电子设备以及缓存管理装置,以解决上述现有技术的缺陷。根据本专利技术的一个方案,提供了一种缓存管理方法,包括:获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;当接收到以所述键名称为查询参数的对所述缓存数据读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。根据实施例的缓存管理方法,如果从所述内存中读取所述缓存数据失败,则根据所述键名称从所述内存数据库中读取所述缓存数据;并且如果从所述内存数据库中读取所述缓存数据失败,则按照所述缓存管理信息包括的所述缓存数据的加载来源,根据所述键名称读取所述缓存数据,将所述键名称和读取到的所述缓存数据存储到所述内存数据库中,并且在所述是否保存内存的设定指示为是的情况下将所述键名称和读取到的所述缓存数据存储到所述内存中。根据实施例的缓存管理方法,所述缓存数据的加载来源包括除所述内存数据库之外的数据库和应用程序接口中的一个。根据实施例的缓存管理方法,所述缓存管理信息还包括是否强制刷新的设定,当所述是否强制刷新的设定指示为是时,从所述缓存数据的加载来源重新读取所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中。根据实施例的缓存管理方法,所述缓存数据的所述键名称为经预定编码方式编码得到的ID号。根据实施例的缓存管理方法,所述经预定编码方式编码得到的所述ID号包括三个字段,第一字段标示所述缓存数据所属的所属的领域类别,第二字段标示所述缓存数据所属的所述领域类别中包含的子类别,第三字段标示在所述子类别之下对所述缓存数据进一步描述的内容。本专利技术的另一方案中,还提供一种电子设备,包括处理器、存储器以及其上存储的计算机可执行代码,其特征在于,当所述处理器执行所述计算机可执行代码时实现上述方法。本专利技术的再一方案中,一种缓存管理装置,包括:缓存管理信息获取单元,其被配置为获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;缓存管理单元,其被配置为:按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;以及缓存数据读取单元,其被配置为:当接收到以所述键名称为查询参数的对所述缓存数据读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。利用本专利技术提供的缓存管理方法,对于缓存数据均配置了缓存管理信息,并根据缓存管理信息设定缓存数据的读取位置、更新频率和缓存方案,确保了缓存数据的缓存数据能够按照设定定期更新、保存内存等,另外,由于缓存数据均被存储到内存数据库中,并且可能根据设定保存在内存中,当需要获取缓存数据的缓存数据时,可以从内存或内存数据库中快速读取到,相比于在需要时直接从加载来源(其他数据库、应用程序接口(即,API))读取的情况,确保了对缓存数据的读取速度,从而保障了程序运行的流畅性。附图说明在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本系统或方法的穷尽或排他实施例。图1是本专利技术实施例的一种缓存管理方法的流程示意图。图2是本专利技术另一实施例的缓存管理方法的流程示意图。图3是将键名称编码成ID的示意图。图4是例示出本专利技术实施例的一种缓存管理装置的框图。具体实施方式此处参考附图描述本公开的各种方案以及特征。通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本专利技术的这些和其它特性将会变得显而易见。本说明书可使用词组“在一个实施例中”、“在一些实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。注意的是,在说明书全文中,相同本文档来自技高网...
【技术保护点】
1.一种缓存管理方法,其特征在于包括:/n获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;/n按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;/n当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;/n当接收到以所述键名称为查询参数的对所述缓存数据的读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。/n
【技术特征摘要】
1.一种缓存管理方法,其特征在于包括:
获取对缓存数据的缓存管理信息,所述缓存管理信息包括用于查询所述缓存数据的键名称、所述缓存数据的加载来源、更新频率以及是否保存内存的设定;
按照所述更新频率周期性地从所述缓存数据的加载来源读取以所述键名称查询到的所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中;
当所述是否保存内存的设定指示为是时,将所述键名称和读取到的所述缓存数据存储到内存中;
当接收到以所述键名称为查询参数的对所述缓存数据的读取指令时,如果所述是否保存内存的设定指示为是,则根据所述键名称从所述内存中读取所述缓存数据,否则,根据所述键名称从所述内存数据库中读取所述缓存数据。
2.根据权利要求1所述的缓存管理方法,其特征在于:
如果从所述内存中读取所述缓存数据失败,则根据所述键名称从所述内存数据库中读取所述缓存数据;并且
如果从所述内存数据库中读取所述缓存数据失败,则按照所述缓存管理信息包括的所述缓存数据的加载来源,根据所述键名称读取所述缓存数据,将所述键名称和读取到的所述缓存数据存储到所述内存数据库中,并且在所述是否保存内存的设定指示为是的情况下将所述键名称和读取到的所述缓存数据存储到所述内存中。
3.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存数据的加载来源包括除所述内存数据库之外的数据库和应用程序接口中的一个。
4.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存管理信息还包括是否强制刷新的设定,当所述是否强制刷新的设定指示为是时,从所述缓存数据的加载来源重新读取所述缓存数据,并且将所述键名称和读取到的所述缓存数据对应地存储到内存数据库中。
5.根据权利要求1所述的缓存管理方法,其特征在于,用于查询所述缓存数据的所述键名称为经预定编码方式编码得到的ID号。
6.根据权利要求5所述的缓存管理方法,其特征在于,所述经预定编码方式编码得到的所述ID号包括三个字段,第一字段标...
【专利技术属性】
技术研发人员:李谦,
申请(专利权)人:北京精准沟通传媒科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。