CN111988427A - 一种基于分布式的本地缓存处理方法及系统 - Google Patents
一种基于分布式的本地缓存处理方法及系统 Download PDFInfo
- Publication number
- CN111988427A CN111988427A CN202010900737.4A CN202010900737A CN111988427A CN 111988427 A CN111988427 A CN 111988427A CN 202010900737 A CN202010900737 A CN 202010900737A CN 111988427 A CN111988427 A CN 111988427A
- Authority
- CN
- China
- Prior art keywords
- cache
- information
- sdk
- local cache
- cache information
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
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)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式的本地缓存处理方法及系统,方法包括:判断基于sdk是否从本地缓存中获取到缓存信息,若是,则直接将获取到的缓存信息返回,若否,则:采用异步方式获取对应的缓存信息;将缓存信息存储至本地缓存,通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。本发明能够实时的更新缓存到本地,且让各个节点间数据保持一致。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于分布式的本地缓存处理方法及系统。
背景技术
常规的分布式缓存主要依赖redis(Remote Dictionary Server,远程字典服务)、memcache(分布式的高速缓存系统)等当做缓存存储,相比ehcache(纯Java的进程内缓存框架)是直接在jvm虚拟机(Java虚拟机)中缓存,速度快,效率高,但是ehcache缓存共享麻烦,集群分布式应用不方便,缓存共享复杂,维护不方便。且目前大部分的本地缓存的有效性一般通过过期-回源,这样会存在一个情况,当每个节点回源的时间不一致,而这个时间中数据有变动,就会出现数据不一致的情况。
因此,如何实时的更新缓存到本地,且让各个节点间数据保持一致,是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种基于分布式的本地缓存处理方法,能够实时的更新缓存到本地,且让各个节点间数据保持一致。
本发明提供了一种基于分布式的本地缓存处理方法,包括:
判断基于sdk是否从本地缓存中获取到缓存信息,若是,则直接将获取到的缓存信息返回,若否,则:
采用异步方式获取对应的缓存信息;
将缓存信息存储至本地缓存;
通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。
优选地,所述方法还包括:
通过各个sdk分别定时上报缓存的操作记录信息。
优选地,所述方法还包括:
将上报的所述缓存的操作记录信息存入关系型数据库管理系统。
优选地,所述方法还包括:
存储本地缓存数据。
优选地,所述存储本地缓存数据,包括:
采用字符串类型的存储协议类型存储本地缓存数据。
一种基于分布式的本地缓存处理系统,包括:
判断模块,用于判断基于sdk是否从本地缓存中获取到缓存信息;
返回模块,用于当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回;
获取模块,用于当基于sdk未从本地缓存中获取到缓存信息时,采用异步方式获取对应的缓存信息;
第一存储模块,用于将缓存信息存储至本地缓存;
写入模块,用于通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。
优选地,所述系统还包括:
上报模块,用于通过各个sdk分别定时上报缓存的操作记录信息。
优选地,所述系统还包括:
第二存储模块,用于将上报的所述缓存的操作记录信息存入关系型数据库管理系统。
优选地,所述系统还包括:
第三存储模块,用于存储本地缓存数据。
优选地,所述第二存储模块具体用于:
采用字符串类型的存储协议类型存储本地缓存数据。
综上所述,本发明公开了一种基于分布式的本地缓存处理方法,首先判断基于sdk是否从本地缓存中获取到缓存信息,若是,则直接将获取到的缓存信息返回,若否,则:采用异步方式获取对应的缓存信息;将缓存信息存储至本地缓存,通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。本发明能够实时的更新缓存到本地,且让各个节点间数据保持一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种基于分布式的本地缓存处理方法实施例1的流程图;
图2为本发明公开的一种基于分布式的本地缓存处理方法实施例2的流程图;
图3为本发明公开的一种基于分布式的本地缓存处理方法实施例3的流程图;
图4为本发明公开的一种基于分布式的本地缓存处理系统实施例1的结构示意图;
图5为本发明公开的一种基于分布式的本地缓存处理系统实施例2的结构示意图;
图6为本发明公开的一种基于分布式的本地缓存处理系统实施例3的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种基于分布式的本地缓存处理方法实施例1的流程图,所述方法可以包括以下步骤:
S101、判断基于sdk是否从本地缓存中获取到缓存信息,若是,则进入S102,若否,则进入S103:
在应用中引入相关的sdk信息,应用根据sdk提供的方法根据key去获取本地缓存信息,判断基于sdk是否从本地缓存中获取到缓存信息。
S102、直接将获取到的缓存信息返回;
当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回。
S103、采用异步方式获取对应的缓存信息;
当基于sdk未从本地缓存中获取到缓存信息时,即应用在获取缓存信息为空时,为避免出现雪崩风险,不直接查询上级缓存或者在db中实时查询返回,而时采用异步方式获取相关对应的缓存信息,生成对应的字符串的key和value,将信息写入kafka。
S104、将缓存信息存储至本地缓存;
在直接获取到缓存信息,或者采用异步方式获取到对应的缓存信息后,将缓存信息存储至本地缓存。
S105、通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。
然后,sdk在各个节点分别启动消费者,对同一个kafka的topic数据(不同group)进行消费,将获取到的相关的key和value同步写入到节点中。从而达到每个节点数据同一个key,数据一致,同时因为采用被动更新缓存策略,不会直接将请求落在db上,从而保证了数据的高可用。
综上所述,在上述实施例中,首先判断基于sdk是否从本地缓存中获取到缓存信息,若是,则直接将获取到的缓存信息返回,若否,则:采用异步方式获取对应的缓存信息;将缓存信息存储至本地缓存,通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。能够实时的更新缓存到本地,且让各个节点间数据保持一致。
如图2所示,为本发明公开的一种基于分布式的本地缓存处理方法实施例2的流程图,所述方法可以包括以下步骤:
S201、判断基于sdk是否从本地缓存中获取到缓存信息,若是,则进入S202,若否,则进入S203:
在应用中引入相关的sdk信息,应用根据sdk提供的方法根据key去获取本地缓存信息,判断基于sdk是否从本地缓存中获取到缓存信息。
S202、直接将获取到的缓存信息返回;
当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回。
S203、采用异步方式获取对应的缓存信息;
当基于sdk未从本地缓存中获取到缓存信息时,即应用在获取缓存信息为空时,为避免出现雪崩风险,不直接查询上级缓存或者在db中实时查询返回,而时采用异步方式获取相关对应的缓存信息,生成对应的字符串的key和value,将信息写入kafka。
S204、将缓存信息存储至本地缓存;
在直接获取到缓存信息,或者采用异步方式获取到对应的缓存信息后,将缓存信息存储至本地缓存。
S205、通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点;
然后,sdk在各个节点分别启动消费者,对同一个kafka的topic数据(不同group)进行消费,将获取到的相关的key和value同步写入到节点中。从而达到每个节点数据同一个key,数据一致,同时因为采用被动更新缓存策略,不会直接将请求落在db上,从而保证了数据的高可用。
S206、通过各个sdk分别定时上报缓存的操作记录信息;
在本发明提供的sdk中,每个操作都会基于AtomicLong原子操作类,对每次get/set/event/publish/get命中/exception都做了一次统计,定时将这些统计信息以http的方式,发送到监控平台应用上,用于应用、以及节点的本地缓存使用情况的监控。
S207、将上报的缓存的操作记录信息存入关系型数据库管理系统。
然后,进一步通过监控平台将各个节点上报的信息,包括应用名/ip/get/get异常/set/event/publish/exception等信息存储到mysql中。
综上所述,本实施例在上述实施例的基础上,能够进一步通过各个sdk分别定时上报缓存的操作记录信息,并将上报的缓存的操作记录信息存入关系型数据库管理系统。
如图3所示,为本发明公开的一种基于分布式的本地缓存处理方法实施例3的流程图,所述方法可以包括以下步骤:
S301、存储本地缓存数据;
在数据缓存层面,采用java实现本地缓存的sdk方式,本发明大部分都是使用的java服务开发,在应用中根据配置化可以分别申请堆内、堆外、磁盘三部分内存,三种内存使用的优先级是堆内>堆外>磁盘。本地缓存存储协议类型可以采用字符串统一类型,即key和value都统一采用字符串类型。本发明采用针对本地缓存单独启动一个process进程,用于存储本地缓存数据,其他相关语言采用,protobuf3.0协议,和process进行通信,以获取、更新缓存信息。
S302、判断基于sdk是否从本地缓存中获取到缓存信息,若是,则进入S303,若否,则进入S304:
在应用中引入相关的sdk信息,应用根据sdk提供的方法根据key去获取本地缓存信息,判断基于sdk是否从本地缓存中获取到缓存信息。
S303、直接将获取到的缓存信息返回;
当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回。
S304、采用异步方式获取对应的缓存信息;
当基于sdk未从本地缓存中获取到缓存信息时,即应用在获取缓存信息为空时,为避免出现雪崩风险,不直接查询上级缓存或者在db中实时查询返回,而时采用异步方式获取相关对应的缓存信息,生成对应的字符串的key和value,将信息写入kafka。
S305、将缓存信息存储至本地缓存;
在直接获取到缓存信息,或者采用异步方式获取到对应的缓存信息后,将缓存信息存储至本地缓存。
S306、通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点;
然后,sdk在各个节点分别启动消费者,对同一个kafka的topic数据(不同group)进行消费,将获取到的相关的key和value同步写入到节点中。从而达到每个节点数据同一个key,数据一致,同时因为采用被动更新缓存策略,不会直接将请求落在db上,从而保证了数据的高可用。
S307、通过各个sdk分别定时上报缓存的操作记录信息;
在本发明提供的sdk中,每个操作都会基于AtomicLong原子操作类,对每次get/set/event/publish/get命中/exception都做了一次统计,定时将这些统计信息以http的方式,发送到监控平台应用上,用于应用、以及节点的本地缓存使用情况的监控。
S308、将上报的缓存的操作记录信息存入关系型数据库管理系统。
然后,进一步通过监控平台将各个节点上报的信息,包括应用名/ip/get/get异常/set/event/publish/exception等信息存储到mysql中。
综上所述,本发明利用本地内存存储数据,实现了服务的高可用,数据的一致性,同时采用定时上报的方式,统计各个节点的缓存利用更新情况,实现了实时统计节点情况。
如图4所示,为本发明公开的一种基于分布式的本地缓存处理系统实施例1的结构示意图,所述系统可以包括:
判断模块401,用于判断基于sdk是否从本地缓存中获取到缓存信息;
在应用中引入相关的sdk信息,应用根据sdk提供的方法根据key去获取本地缓存信息,判断基于sdk是否从本地缓存中获取到缓存信息。
返回模块402,用于当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回;
当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回。
获取模块403,用于当基于sdk未从本地缓存中获取到缓存信息时,采用异步方式获取对应的缓存信息;
当基于sdk未从本地缓存中获取到缓存信息时,即应用在获取缓存信息为空时,为避免出现雪崩风险,不直接查询上级缓存或者在db中实时查询返回,而时采用异步方式获取相关对应的缓存信息,生成对应的字符串的key和value,将信息写入kafka。
第一存储模块404,用于将缓存信息存储至本地缓存;
在直接获取到缓存信息,或者采用异步方式获取到对应的缓存信息后,将缓存信息存储至本地缓存。
写入模块405,通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。
然后,sdk在各个节点分别启动消费者,对同一个kafka的topic数据(不同group)进行消费,将获取到的相关的key和value同步写入到节点中。从而达到每个节点数据同一个key,数据一致,同时因为采用被动更新缓存策略,不会直接将请求落在db上,从而保证了数据的高可用。
综上所述,在上述实施例中,首先判断基于sdk是否从本地缓存中获取到缓存信息,若是,则直接将获取到的缓存信息返回,若否,则:采用异步方式获取对应的缓存信息;将缓存信息存储至本地缓存,通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。能够实时的更新缓存到本地,且让各个节点间数据保持一致。
如图5所示,为本发明公开的一种基于分布式的本地缓存处理系统实施例2的结构示意图,所述系统可以包括:
判断模块501,用于判断基于sdk是否从本地缓存中获取到缓存信息;
在应用中引入相关的sdk信息,应用根据sdk提供的方法根据key去获取本地缓存信息,判断基于sdk是否从本地缓存中获取到缓存信息。
返回模块502,用于当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回;
当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回。
获取模块503,用于当基于sdk未从本地缓存中获取到缓存信息时,采用异步方式获取对应的缓存信息;
当基于sdk未从本地缓存中获取到缓存信息时,即应用在获取缓存信息为空时,为避免出现雪崩风险,不直接查询上级缓存或者在db中实时查询返回,而时采用异步方式获取相关对应的缓存信息,生成对应的字符串的key和value,将信息写入kafka。
第一存储模块504,用于将缓存信息存储至本地缓存;
在直接获取到缓存信息,或者采用异步方式获取到对应的缓存信息后,将缓存信息存储至本地缓存。
写入模块505,用于通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点;
然后,sdk在各个节点分别启动消费者,对同一个kafka的topic数据(不同group)进行消费,将获取到的相关的key和value同步写入到节点中。从而达到每个节点数据同一个key,数据一致,同时因为采用被动更新缓存策略,不会直接将请求落在db上,从而保证了数据的高可用。
上报模块506,用于通过各个sdk分别定时上报缓存的操作记录信息;
在本发明提供的sdk中,每个操作都会基于AtomicLong原子操作类,对每次get/set/event/publish/get命中/exception都做了一次统计,定时将这些统计信息以http的方式,发送到监控平台应用上,用于应用、以及节点的本地缓存使用情况的监控。
第二存储模块507,用于将上报的缓存的操作记录信息存入关系型数据库管理系统。
然后,进一步通过监控平台将各个节点上报的信息,包括应用名/ip/get/get异常/set/event/publish/exception等信息存储到mysql中。
综上所述,本实施例在上述实施例的基础上,能够进一步通过各个sdk分别定时上报缓存的操作记录信息,并将上报的缓存的操作记录信息存入关系型数据库管理系统。
如图6所示,为本发明公开的一种基于分布式的本地缓存处理系统实施例3的结构示意图,所述系统可以包括:
第三存储模块601,用于存储本地缓存数据;
在数据缓存层面,采用java实现本地缓存的sdk方式,本发明大部分都是使用的java服务开发,在应用中根据配置化可以分别申请堆内、堆外、磁盘三部分内存,三种内存使用的优先级是堆内>堆外>磁盘。本地缓存存储协议类型可以采用字符串统一类型,即key和value都统一采用字符串类型。本发明采用针对本地缓存单独启动一个process进程,用于存储本地缓存数据,其他相关语言采用,protobuf3.0协议,和process进行通信,以获取、更新缓存信息。
判断模块602,用于判断基于sdk是否从本地缓存中获取到缓存信息;
在应用中引入相关的sdk信息,应用根据sdk提供的方法根据key去获取本地缓存信息,判断基于sdk是否从本地缓存中获取到缓存信息。
返回模块603,用于当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回;
当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回。
获取模块604,用于当基于sdk未从本地缓存中获取到缓存信息时,采用异步方式获取对应的缓存信息;
当基于sdk未从本地缓存中获取到缓存信息时,即应用在获取缓存信息为空时,为避免出现雪崩风险,不直接查询上级缓存或者在db中实时查询返回,而时采用异步方式获取相关对应的缓存信息,生成对应的字符串的key和value,将信息写入kafka。
第一存储模块605,用于将缓存信息存储至本地缓存;
在直接获取到缓存信息,或者采用异步方式获取到对应的缓存信息后,将缓存信息存储至本地缓存。
写入模块606,用于通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点;
然后,sdk在各个节点分别启动消费者,对同一个kafka的topic数据(不同group)进行消费,将获取到的相关的key和value同步写入到节点中。从而达到每个节点数据同一个key,数据一致,同时因为采用被动更新缓存策略,不会直接将请求落在db上,从而保证了数据的高可用。
上报模块607,用于通过各个sdk分别定时上报缓存的操作记录信息;
在本发明提供的sdk中,每个操作都会基于AtomicLong原子操作类,对每次get/set/event/publish/get命中/exception都做了一次统计,定时将这些统计信息以http的方式,发送到监控平台应用上,用于应用、以及节点的本地缓存使用情况的监控。
第二存储模块608,用于将上报的缓存的操作记录信息存入关系型数据库管理系统。
然后,进一步通过监控平台将各个节点上报的信息,包括应用名/ip/get/get异常/set/event/publish/exception等信息存储到mysql中。
综上所述,本发明利用本地内存存储数据,实现了服务的高可用,数据的一致性,同时采用定时上报的方式,统计各个节点的缓存利用更新情况,实现了实时统计节点情况。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于分布式的本地缓存处理方法,其特征在于,包括:
判断基于sdk是否从本地缓存中获取到缓存信息,若是,则直接将获取到的缓存信息返回,若否,则:
采用异步方式获取对应的缓存信息;
将缓存信息存储至本地缓存;
通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。
2.根据权利要求1所述的方法,其特征在于,还包括:
通过各个sdk分别定时上报缓存的操作记录信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
将上报的所述缓存的操作记录信息存入关系型数据库管理系统。
4.根据权利要求1所述的方法,其特征在于,还包括:
存储本地缓存数据。
5.根据权利要求4所述的方法,其特征在于,所述存储本地缓存数据,包括:
采用字符串类型的存储协议类型存储本地缓存数据。
6.一种基于分布式的本地缓存处理系统,其特征在于,包括:
判断模块,用于判断基于sdk是否从本地缓存中获取到缓存信息;
返回模块,用于当基于sdk从本地缓存中获取到缓存信息时,直接将获取到的缓存信息返回;
获取模块,用于当基于sdk未从本地缓存中获取到缓存信息时,采用异步方式获取对应的缓存信息;
第一存储模块,用于将缓存信息存储至本地缓存;
写入模块,用于通过各个sdk在各个节点分别启动消费者,对同一个kafka的topic数据进行消费,将获取到的缓存信息写入节点。
7.根据权利要求6所述的系统,其特征在于,还包括:
上报模块,用于通过各个sdk分别定时上报缓存的操作记录信息。
8.根据权利要求7所述的系统,其特征在于,还包括:
第二存储模块,用于将上报的所述缓存的操作记录信息存入关系型数据库管理系统。
9.根据权利要求6所述的系统,其特征在于,还包括:
第三存储模块,用于存储本地缓存数据。
10.根据权利要求9所述的系统,其特征在于,所述第二存储模块具体用于:
采用字符串类型的存储协议类型存储本地缓存数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900737.4A CN111988427A (zh) | 2020-08-31 | 2020-08-31 | 一种基于分布式的本地缓存处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900737.4A CN111988427A (zh) | 2020-08-31 | 2020-08-31 | 一种基于分布式的本地缓存处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111988427A true CN111988427A (zh) | 2020-11-24 |
Family
ID=73447773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010900737.4A Pending CN111988427A (zh) | 2020-08-31 | 2020-08-31 | 一种基于分布式的本地缓存处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988427A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610532A (zh) * | 2023-07-17 | 2023-08-18 | 山东浪潮数字商业科技有限公司 | Redis客户端监测方法、系统、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580437A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储客户端及其高效数据访问方法 |
CN107231395A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据存储方法、装置和系统 |
CN109040183A (zh) * | 2018-06-27 | 2018-12-18 | 郑州云海信息技术有限公司 | 节点信息获取方法、装置、设备及计算机可读存储介质 |
CN109800239A (zh) * | 2019-01-15 | 2019-05-24 | 科大国创软件股份有限公司 | 基于Redis的分布式架构数据共享方法 |
CN110149382A (zh) * | 2019-05-08 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 数据同步的方法、系统、主服务器、同步客户端及介质 |
CN110413418A (zh) * | 2019-06-25 | 2019-11-05 | 北京三快在线科技有限公司 | 缓存同步装置及方法,缓存同步系统、电子设备 |
CN111262773A (zh) * | 2020-01-21 | 2020-06-09 | 香港乐蜜有限公司 | 一种消息同步方法及数据中心 |
-
2020
- 2020-08-31 CN CN202010900737.4A patent/CN111988427A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580437A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储客户端及其高效数据访问方法 |
CN107231395A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据存储方法、装置和系统 |
CN109040183A (zh) * | 2018-06-27 | 2018-12-18 | 郑州云海信息技术有限公司 | 节点信息获取方法、装置、设备及计算机可读存储介质 |
CN109800239A (zh) * | 2019-01-15 | 2019-05-24 | 科大国创软件股份有限公司 | 基于Redis的分布式架构数据共享方法 |
CN110149382A (zh) * | 2019-05-08 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 数据同步的方法、系统、主服务器、同步客户端及介质 |
CN110413418A (zh) * | 2019-06-25 | 2019-11-05 | 北京三快在线科技有限公司 | 缓存同步装置及方法,缓存同步系统、电子设备 |
CN111262773A (zh) * | 2020-01-21 | 2020-06-09 | 香港乐蜜有限公司 | 一种消息同步方法及数据中心 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610532A (zh) * | 2023-07-17 | 2023-08-18 | 山东浪潮数字商业科技有限公司 | Redis客户端监测方法、系统、电子设备及存储介质 |
CN116610532B (zh) * | 2023-07-17 | 2023-10-27 | 山东浪潮数字商业科技有限公司 | Redis客户端监测方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106599199A (zh) | 一种数据缓存与同步方法 | |
KR100978156B1 (ko) | 스누프 필터에서의 실효를 감소시키기 위한 라인 스와핑 스킴을 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능 기록 매체 | |
CN101189584B (zh) | 内存页面管理 | |
WO2016134590A1 (zh) | 处理事务的方法、处理节点、中心节点和集群 | |
US10296435B2 (en) | Storage of mass data for monitoring | |
US8819074B2 (en) | Replacement policy for resource container | |
CN111427859B (zh) | 一种消息处理方法、装置、电子设备及存储介质 | |
CN109117088B (zh) | 一种数据处理方法及系统 | |
CN103782295A (zh) | 分布式数据管理系统中的查询说明计划 | |
CN111475519B (zh) | 数据缓存方法及装置 | |
CN111737168A (zh) | 一种缓存系统、缓存处理方法、装置、设备及介质 | |
CN101217449B (zh) | 远程调用管理方法 | |
CN111143158A (zh) | 一种监控数据实时存储方法、系统、电子设备及存储介质 | |
CN111988427A (zh) | 一种基于分布式的本地缓存处理方法及系统 | |
CN111913913B (zh) | 访问请求的处理方法和装置 | |
US11269784B1 (en) | System and methods for efficient caching in a distributed environment | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN115129618A (zh) | 用于优化数据缓存的方法和设备 | |
CN109492020A (zh) | 一种数据缓存方法、装置、电子设备及存储介质 | |
CN115934583A (zh) | 分级缓存方法、装置及系统 | |
CN112988706A (zh) | 数据管理方法、装置以及电子控制器 | |
CN110825652B (zh) | 淘汰磁盘块上的缓存数据的方法、装置及设备 | |
CN111159232A (zh) | 一种数据缓存方法及系统 | |
CN105659216A (zh) | 多核处理器系统的缓存目录处理方法和目录控制器 | |
CN112131433B (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 |