CN107562905A - 数据的管理方法、服务器及计算机可读存储介质 - Google Patents
数据的管理方法、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107562905A CN107562905A CN201710807309.5A CN201710807309A CN107562905A CN 107562905 A CN107562905 A CN 107562905A CN 201710807309 A CN201710807309 A CN 201710807309A CN 107562905 A CN107562905 A CN 107562905A
- Authority
- CN
- China
- Prior art keywords
- key
- data
- cache
- key assignments
- client
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种数据的管理方法、服务器及计算机可读存储介质。该数据的管理方法包括:若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值;将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对;将所述键值对保存在所述缓存内存中。该方法可以避免因缓存内存将客户端所需的数据完全删除掉而出现客户端高并发访问数据库的情况,降低数据库发生崩溃的风险。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据的管理方法、服务器及计算机可读存储介质。
背景技术
目前互联网中多使用缓存技术来提高数据的存取速度,降低对数据库的访问量。在现有缓存技术中,缓存内存会按照缓存过期时间、缓存数据活跃度等机制来删除缓存数据,这样可以避免大量僵尸数据占用缓存内存。然而,若被删除的数据恰好是当前所需的数据,而且对该数据的需求量又较多,此时很容易出现高并发地请求数据库的情况,导致数据库崩溃。
发明内容
本发明的实施例提供了一种数据的管理方法、服务器及计算机可读存储介质,可以减少客户端高并发地对数据库进行访问,降低数据库出现崩溃的风险。
第一方面,本发明实施例提供了一种数据的管理方法,应用于服务器,其包括:
若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值;
将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对;
将所述键值对保存在所述缓存内存中。
第二方面,本发明实施例还提供了一种服务器,其包括用于执行本发明提供的任一项所述的数据的管理方法的单元。
第三方面,本发明实施例又提供了一种服务器,其包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储程序代码,所述处理器被配置用于调用所述程序代码,执行本发明提供的任一项所述的数据的管理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行发明提供的任一项所述的数据的管理方法。
本发明实施例通过在检测到删除缓存数据指令时,删除缓存内存中待删除缓存数据对应的键值,再将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对,最后将所述键值对保存在所述缓存内存中。该方法可以避免因缓存内存将客户端所需的数据完全删除掉而出现客户端高并发访问数据库的情况,降低数据库发生崩溃的风险,提高客户端、***的稳定性和安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据的管理方法的示意流程图;
图2是本发明实施例提供的一种数据的管理方法的另一示意流程图;
图3是本发明实施例提供的一种数据的管理方法的又一示意流程图;
图4至图7均是本发明实施例提供的一种服务器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本发明实施例提供的一种数据的管理方法的示意流程图。该方法可以运行在需要与客户端进行交互的服务器中,譬如,各类应用服务器。如图1所示,该方法包括步骤S101~S103。
S101、若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值。
一般来说,在缓存内存中,缓存数据可以以键值对的形式存储。也就是说,每个缓存数据均包括键和相应的键值。缓存内存中的缓存数据需要定时清理,删除掉不需要的缓存数据。譬如,缓存内存可以采用缓存过期时间机制清理过期的缓存数据。也就是说,缓存数据对应一个缓存过期时间,当缓存数据在缓存内存中存储的时间达到该缓存过期时间时,缓存内存就会将该缓存数据删除,从而释放内存空间。
又譬如,缓存内存还可以采用缓存数据活跃度的机制清理活跃度低的缓存数据。缓存数据被使用次数越多,越频繁,对应的活跃度就越高。相反,那些长时间不被使用,使用次数较少的缓存数据的活跃度就较低,缓存内存就会将活跃度低的数据进行删除。
另外,当缓存内存需要添加新的数据时,若缓存内存空间不足,缓存内存也需要删除一部分缓存数据。
然而,无论是缓存内存定期删除不需要的缓存数据,还是因需要添加新的数据而删除一部分缓存数据,若将该不需要的缓存数据完全删除,而后期若有大量客户端需要删除掉的缓存数据时,就会透过缓存内存高并发地向数据库获取数据,容易引起数据库崩溃。
为了解决上述问题,在本实施例中,若检测到删除缓存数据指令,先删除缓存内存中待删除缓存数据对应的键值,但不删除待删除缓存数据对应的键,即保留待删除缓存数据对应的键。
S102、将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对。
在本实施例中,在删除待删除缓存数据对应的键值之后,需要将预设值设置为新键值,即将该预设值设置为该待删除缓存数据对应的新的键值。可以理解的是,该新键值将与待删除缓存数据对应的键组成新的键值对。
在一实施例中,该预设值可以为一个标识符,譬如,“&&”标识符。该预设值也可以为“NULL”等,只要客户端在接收到该预设值之后,根据该预设值就可以得知客户端所需的键在缓存内存中是不存在值的键,需要客户端等待下一个时间轮询点再重新获取键值或者需要客户端放弃此次数据请求等即可。在此,不对该预设值的具体内容做限制。
S103、将所述键值对保存在所述缓存内存中。
在向待删除缓存数据的键赋予新键值之后,将新键值与待删除缓存数据对应的键存储在缓存内存中。当客户端恰好需要获取该待删除缓存数据对应的键值时,客户端会向服务器发送该待删除缓存数据对应的键。服务器根据该待删除缓存数据对应的键获取到其新键值。
譬如,新键值为“&&”。服务器将该新键值“&&”反馈至客户端。客户端接收到该“&&”后,客户端可以等待下一个时间轮询点再次向服务器发送获取该待删除缓存数据对应的键值。客户端也可以放弃对该待删除缓存数据对应的键值的获取请求。这样就避免客户端穿透缓存内存向数据库获取所需的数据,尤其在大量客户端需要该数据的情况下,可以避免高并发地访问数据库,有效避免数据库出现崩溃的情况,同理,还有效避免了黑客利用我方服务器缓存内存中失效的键发起频繁的访问,以穿透缓存攻击我方服务器的不良企图。
在其他实施例中,客户端在接收到预设值之后所执行的预设操作不局限于上述两种,还可以为其他种操作,在此不做具体限制。
另外,当数据库发生更新时,缓存内存中的缓存数据也需要同步更新,因此,在一实施例中,如图2所示,图2为本实施例中数据的管理方法的另一流程示意图。在步骤S103之后,该方法还包括步骤S104至S106。
S104、若检测到数据库更新,更新所述缓存内存中的待更新缓存数据。
当检测到数据库更新时,服务器将更新缓存内存中的待更新缓存数据。譬如,数据库中对键A、键B、键C和键D四个键对应的键值进行了更新,那么缓存内存也需要对键A、键B、键C和键D对应的键值进行数据更新。也就是说,键A、键B、键C和键D为缓存内存中待更新缓存数据。
S105、若检测到所述缓存内存出现更新异常,将未完成更新操作的待更新缓存数据的键依次存入消息***中。
在缓存内存更新的过程中,若缓存内存出现更新异常,譬如,网络突然断开等,缓存内存中可能会存在未完成更新操作的待更新缓存数据。此时,将未完成更新操作的待更新缓存数据的键依次存入消息***中。
譬如,缓存内存在更新键C时,网络出现异常,此时,缓存内存会将键C和键D依次存入消息***中,键C和键D形成消息队列。
在一实施例中,消息***可以过滤存储的相同的键,避免相同的键重复进行更新。
S106、在检测到所述缓存内存正常运行时,依次从所述消息***中读取所述待更新缓存数据的键并进行更新操作。
当检测到缓存内存可以正常运行时,譬如,网络连接状况恢复正常状态,那么将依次从消息***中读取待更新缓存数据的键,并继续对该待更新缓存数据的键对应的键值进行更新操作。
本发明实施例通过在检测到删除缓存数据指令时,删除待删除缓存数据对应的键值并赋以新键值,这样当客户端从服务器中获取到该新键值时,可以根据新键值执行等待操作、放弃此次操作等预设操作,避免因缓存内存将客户端所需的数据完全删除掉而出现客户端高并发访问数据库的情况,降低数据库发生崩溃的风险,提高客户端、***的稳定性和安全性。
请参阅图3,图3是本发明实施例提供的一种数据的管理方法的又一示意流程图。该方法可以运行在需要与客户端进行交互的服务器中,譬如,各类应用服务器。如图3所示,该方法包括步骤S201~S212。
S201、若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值。
一般来说,在缓存内存中,缓存数据可以以键值对的形式存储。也就是说,每个缓存数据均包括键和相应的键值。缓存内存中的缓存数据需要定时清理,删除掉不需要的缓存数据。譬如,缓存内存可以采用缓存过期时间机制清理过期的缓存数据。也就是说,缓存数据对应一个缓存过期时间,当缓存数据在缓存内存中存储的时间达到该缓存过期时间时,缓存内存就会将该缓存数据删除,从而释放内存空间。
又譬如,缓存内存还可以采用缓存数据活跃度的机制清理活跃度低的缓存数据。缓存数据被使用次数越多,越频繁,对应的活跃度就越高。相反,那些长时间不被使用,使用次数较少的缓存数据的活跃度就较低,缓存内存就会将活跃度低的数据进行删除。
另外,当缓存内存需要添加新的数据时,若缓存内存空间不足,缓存内存也需要删除一部分缓存数据。
然而,无论是缓存内存定期删除不需要的缓存数据,还是因需要添加新的数据而删除一部分缓存数据,若将该不需要的缓存数据完全删除,而后期若有大量客户端需要删除掉的缓存数据时,就会透过缓存内存高并发地向数据库获取数据,容易引起数据库崩溃。
为了解决上述问题,在本实施例中,若检测到删除缓存数据指令,先删除缓存内存中待删除缓存数据对应的键值,但不删除待删除缓存数据对应的键,即保留待删除缓存数据对应的键。
S202、将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对。
在本实施例中,在删除待删除缓存数据对应的键值之后,需要将预设值设置为新键值,即将该预设值设置为该待删除缓存数据对应的新的键值。可以理解的是,该新键值将与待删除缓存数据对应的键组成新的键值对。
在一实施例中,该预设值可以为一个标识符,譬如,“&&”标识符。该预设值也可以为“NULL”等,只要客户端在接收到该预设值之后,根据该预设值就可以得知客户端所需的键在缓存内存中是不存在值的键,需要客户端等待下一个时间轮询点再重新获取键值或者需要客户端放弃此次数据请求等即可。在此,不对该预设值的具体内容做限制。
S203、将所述键值对保存在所述缓存内存中。
在向待删除缓存数据的键赋予新键值之后,将新键值与待删除缓存数据对应的键存储在缓存内存中。当客户端恰好需要获取该待删除缓存数据对应的键值时,客户端会向服务器发送该待删除缓存数据对应的键。服务器根据该待删除缓存数据对应的键从缓存内存中获取到对应的新键值,
譬如,新键值为“&&”。服务器将从缓存内存中获取到的该新键值“&&”反馈至客户端。客户端接收到“&&”后,客户端可以等待下一个时间轮询点再次向服务器获取该待删除缓存数据对应的键值。客户端也可以放弃获取该待删除缓存数据对应的键值。这样就避免穿透缓存内存直接向数据库获取所需的数据,尤其在大量客户端需要该数据的情况下,可以避免高并发地访问数据库,有效避免数据库出现崩溃的情况。
在其他实施例中,客户端在接收到预设值之后所执行的预设操作不局限于上述两种,还可以为其他种操作,在此不做具体限制。
S204、获取所述客户端发送的数据获取请求,其中,所述数据获取请求包括待获取数据的键。
当客户端需要某些数据时,客户端会向服务器发送数据获取请求。该数据获取请求中包括待获取数据的键。这样,当服务器获取到该数据获取请求之后,将根据数据获取请求中的待获取数据的键查找相应的键值,并执行相应操作。
S205、判断所述缓存内存中是否存在所述待获取数据的键。
服务器获取到待获取数据的键后,将判断缓存内存中是否存在该待获取数据的键。若服务器判断出缓存内存中存在该待获取数据的键,那么服务器将执行步骤S206。若服务器判断出缓存内存中不存在该待获取数据的键,那么服务器将执行步骤S207。
S206、若所述缓存内存中存在所述待获取数据的键,将所述待获取数据的键对应的键值发送至所述客户端。
当缓存内存中存在该待获取数据的键,那么将根据该待获取数据的键获取相对应的键值,并将该键值发送至客户端。
在一实施例中,若该键值为本实施例中的预设值,说明客户端需要的待获取数据的键在缓存内存中是不存在值的键,此时客户端可以放弃获取该待获取数据,也可以等待下一个轮询时间点再次向服务器获取该待获取数据。若在下一个轮询时间点到来之前,服务器更新了缓存内存中该待获取数据对应的键值,那么客户端在下一个轮询时间点所获取到的键值就为有效的键值。这样就避免了因缓存内存将客户端所需的数据完全删除掉而穿透缓存内存直接访问数据库,给数据库带来极大的数据处理压力。
S207、若所述缓存内存中不存在所述待获取数据的键,根据分布式锁方法在所述缓存内存中新建所述待获取数据的键。
在一实施例中,当缓存内存中不存在该待获取数据的键时,服务器将根据setNX(英文全名:set ifno exist)方法在缓存内存中新建该待获取数据的键。可以理解的是,分布式锁方法不局限于上述的setNX方法,还可以为其他方法,在此不做具体限制。
另外,当有多个客户端同时向服务器获取该待获取数据时,服务器采用setNX方法允许一个客户端的数据获取请求获得锁,其他客户端的数据获取请求将不会获得锁,这些请求将进入下一轮询,相当于处于等待状态。服务器将根据获得锁的数据获取请求从数据库中查找相关数据。
S208、判断数据库中是否存在所述待获取数据的键对应的键值。
服务器在数据库中查找是否存在该待获取数据的键对应的键值。若在数据库中存在该待获取数据的键对应的键值,服务器将执行步骤S209。若在数据库中不存在该待获取数据的键对应的键值,说明数据库中不存在相关数据,服务器将执行步骤S211。
S209、若数据库中存在所述待获取数据的键对应的键值,将所述待获取数据的键对应的键值发送至所述客户端。
当数据库中存在该待获取数据的键对应的键值时,服务器将从数据库中读取该待获取数据的键对应的键值,并将该待获取数据的键对应的键值发送至客户端。
S210、将所述待获取数据的键对应的键值存储在所述缓存内存中。
在服务器从数据库中获取到该待获取数据的键对应的键值之后,将该待获取数据的键对应的键值存储在缓存内存中,这样便于其他未获得锁的数据获取请求在不断地轮询过程中,从缓存内存中就可以获取到该待获取数据的键对应的键值,无需再访问数据库,降低数据库的数据处理压力。
S211、若数据库中不存在所述待获取数据的键对应的键值,将所述预设值设置为所述待获取数据的键对应的键值。
当数据库中不存在待获取数据的键对应的键值时,为了避免不断地查询缓存内存和数据库而造成死循环,在本实施例中,将预设值设置为待获取数据的键对应的键值。譬如,将“&&”设置为待获取数据的键对应的键值。
S212、存储所述待获取数据的键及对应的键值至所述缓存内存中,并向所述客户端发送所述待获取数据的键对应的键值。
具体地,服务器将待获取数据的键及对应的预设值存储在缓存内存中,同时,服务器还将该预设值发送至客户端。这样,在客户端接收到该预设值时,可以得知其所需要的数据的键为缓存内存中不存在值的键,客户端可以等待下一个时间轮询点再次向服务器获取该待获取数据对应的键值。客户端也可以放弃获取该待获取数据对应的键值。这样就避免客户端不断地访问缓存内存和数据库而造成访问死循环。
当数据库更新了该待获取数据后,服务器将同步更新缓存内存中该待获取数据的键值,即将待获取数据对应的键值由预设值替换为有效的键值,这样,当下一次客户端需要获取该待获取数据时,就可以从缓存内存中获取到有效的键值。
本发明实施例提供的数据的管理方法,可以避免因缓存内存将客户端所需的数据完全删除掉而出现客户端高并发访问数据库的情况,降低数据库发生崩溃的风险,提高客户端、***的稳定性和安全性。同时,在缓存内存中不存在客户端所需数据对应的键时,通过分布式锁方式创建键,并在判断出数据库中不存在待获取数据的键对应的键值时,通过将预设值赋值给待获取数据的键,并将该预设值反馈至客户端,从而避免客户端不断地访问缓存内存和数据库,避免出现死循环的情况,也可以避免该类客户端占用服务器较多资源,提高服务器处理数据的有效率。
请参阅图4,图4是本发明实施例提供的一种服务器的示意性框图。该服务器300可以为需要与客户端进行交互的服务器,譬如,各类应用服务器,在此不做具体限制。如图4所示,服务器300包括删除单元310、设置单元320和存储单元330。
(1)删除单元310;
删除单元310,用于若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值。
一般来说,在缓存内存中,缓存数据可以以键值对的形式存储。删除单元310需要对缓存内存中的缓存数据定时清理,删除掉不需要的缓存数据。譬如,删除单元310可以采用缓存过期时间机制清理过期的缓存数据,或者采用缓存数据活跃度的机制清理活跃度低的缓存数据。
另外,当需要添加新的数据到缓存内存时,若缓存内存空间不足,删除单元310也需要删除一部分缓存数据。
然而,无论是上述哪种情况,若将该不需要的缓存数据完全删除,而后期若有大量客户端需要删除掉的缓存数据时,就会透过缓存内存高并发地向数据库获取数据,容易引起数据库崩溃。
为了解决上述问题,在本实施例中,若检测到删除缓存数据指令,删除单元310先删除缓存内存中待删除缓存数据对应的键值,但不删除待删除缓存数据对应的键,即保留待删除缓存数据对应的键。
(2)设置单元320;
设置单元320,用于将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对.
在本实施例中,设置单元320将预设值设置为新键值,即将该预设值设置为该待删除缓存数据对应的新的键值。同时,将该新键值与待删除缓存数据对应的键组成新的键值对。
在一实施例中,该预设值可以为一个标识符,譬如,“&&”标识符。该预设值也可以为“NULL”等,只要客户端在接收到该预设值之后,根据该预设值就可以得知客户端所需的键在缓存内存中是不存在值的键,需要客户端等待下一个时间轮询点再重新获取键值或者需要客户端放弃此次数据请求等预设操作即可。在此,不对该预设值的具体内容做限制。
(3)存储单元330;
存储单元330,用于将所述键值对保存在所述缓存内存中。
在设置单元320向待删除缓存数据的键赋予新键值之后,存储单元330将新键值与待删除缓存数据对应的键存储在缓存内存中,也就是将新键值与待删除缓存数据对应的键组成的键值对存储在缓存内存中。
当客户端恰好需要获取该待删除缓存数据对应的键值时,服务器300将该待删除缓存数据对应的新键值,即预设值,发送至客户端。譬如,新键值为“&&”。服务器300将该新键值“&&”反馈至客户端。
客户端接收到“&&”后,客户端可以等待下一个时间轮询点再次向服务器300获取该待删除缓存数据对应的键值。客户端也可以放弃获取该待删除缓存数据对应的键值。这样就避免客户端透过缓存内存直接向数据库获取所需的数据,尤其在大量客户端需要该数据的情况下,可以避免高并发地访问数据库,有效避免数据库出现崩溃的情况。
在其他实施例中,客户端在接收到预设值之后所执行的预设操作不局限于上述两种,还可以为其他种操作,在此不做具体限制。
另外,当数据库发生更新时,缓存内存中的缓存数据也需要同步更新,因此,在一实施例中,请参阅图5,图5为本发明实施例中服务器的另一示意性框图。该服务器300还包括更新单元340和键存储单元350。
(4)更新单元340;
更新单元340,用于若检测到数据库更新,更新所述缓存内存中的待更新缓存数据。
当检测到数据库更新时,更新单元340将更新缓存内存中的待更新缓存数据。譬如,数据库中对键A、键B、键C和键D四个键对应的键值进行了更新,那么更新单元340也需要对缓存内存中的键A、键B、键C和键D对应的键值进行数据更新。也就是说,键A、键B、键C和键D为缓存内存中待更新缓存数据。
(5)键存储单元350;
键存储单元350,用于若检测到所述缓存内存出现更新异常,将未完成更新操作的待更新缓存数据的键依次存入消息***中。
在更新单元340更新数据的过程中,若出现更新异常,譬如,网络突然断开等,缓存内存中可能会存在未完成更新操作的待更新缓存数据。此时,键存储单元350将未完成更新操作的待更新缓存数据的键依次存入消息***中。
譬如,更新单元340在更新键C时,网络出现异常,此时,键存储单元350会将键C和键D依次存入消息***中,键C和键D形成消息队列。
当更新单元340检测到缓存内存可以正常运行时,譬如,网络连接状况恢复正常状态,更新单元340将依次从所述消息***中读取所述待更新缓存数据的键并进行更新操作。
本发明实施例提供的服务器300,在检测到删除缓存数据指令时,删除单元310删除待删除缓存数据对应的键值;设置单元320将预设值设为新键值,并将新键值与待删除缓存数据对应的键组成键值对,再由存储单元330将该键值对保存在所述缓存内存中。这样当客户端从服务器300中获取到该新键值时,可以根据新键值执行等待操作、放弃此次操作等预设操作,避免因将缓存内存中客户端所需的数据完全删除掉而出现客户端高并发访问数据库的情况,降低数据库发生崩溃的风险,提高客户端、服务器300的稳定性和安全性。
请参阅图6,图6是本发明实施例提供的一种服务器的示意性框图。该服务器400可以为需要与客户端进行交互的服务器,譬如,各类应用服务器,在此不做具体限制。如图6所示,服务器400包括删除单元410、设置单元420、存储单元430、请求获取单元440、第一判断单元450、发送单元460、新建单元470和第二判断单元480。
(1)删除单元410;
删除单元单元410,用于若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值。
一般来说,在缓存内存中,缓存数据可以以键值对的形式存储。删除单元410需要对缓存内存中的缓存数据定时清理,删除掉不需要的缓存数据。譬如,删除单元410可以采用缓存过期时间机制清理过期的缓存数据,或者采用缓存数据活跃度的机制清理活跃度低的缓存数据。
另外,当需要添加新的数据至缓存内存时,若缓存内存空间不足,删除单元410也需要删除一部分缓存数据。
然而,无论是上述哪种情况,若将该不需要的缓存数据完全删除,而后期若有大量客户端需要删除掉的缓存数据时,就会透过缓存内存高并发地向数据库获取数据,容易引起数据库崩溃。
为了解决上述问题,在本实施例中,若检测到删除缓存数据指令,删除单元410先删除缓存内存中待删除缓存数据对应的键值,但不删除待删除缓存数据对应的键,即保留待删除缓存数据对应的键。
(2)设置单元420;
设置单元420,用于将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对.
在本实施例中,设置单元420将预设值设置为新键值,即将该预设值设置为该待删除缓存数据对应的新的键值。同时,将该新键值与待删除缓存数据对应的键组成新的键值对。
在一实施例中,该预设值可以为一个标识符,譬如,“&&”标识符。该预设值也可以为“NULL”等,只要客户端在接收到该预设值之后,根据该预设值就可以得知客户端所需的键在缓存内存中是不存在值的键,需要客户端等待下一个时间轮询点再重新获取键值或者需要客户端放弃此次数据请求等预设操作即可。在此,不对该预设值的具体内容做限制。
(3)存储单元430;
存储单元430,用于将所述键值对保存在所述缓存内存中。
在设置单元420向待删除缓存数据的键赋予新键值之后,存储单元430将新键值与待删除缓存数据对应的键存储在缓存内存中,也就是将新键值与待删除缓存数据对应的键组成的键值对存储在缓存内存中。
当客户端恰好需要获取该待删除缓存数据对应的键值时,服务器400将该待删除缓存数据对应的新键值,即预设值,发送至客户端。譬如,新键值为“&&”。服务器400将该新键值“&&”反馈至客户端。
客户端接收到“&&”后,客户端可以等待下一个时间轮询点再次向服务器400获取该待删除缓存数据对应的键值。客户端也可以放弃获取该待删除缓存数据对应的键值。这样就避免客户端透过缓存内存直接向数据库获取所需的数据,尤其在大量客户端需要该数据的情况下,可以避免高并发地访问数据库,有效避免数据库出现崩溃的情况。
在其他实施例中,客户端在接收到预设值之后所执行的预设操作不局限于上述两种,还可以为其他种操作,在此不做具体限制。
(4)请求获取单元440;
请求获取单元440,用于获取所述客户端发送的数据获取请求,其中,所述数据获取请求包括待获取数据的键。
当客户端需要某些数据时,客户端会向服务器400发送数据获取请求。该数据获取请求中包括待获取数据的键。请求获取单元440将获取该数据获取请求,并将数据获取请求中待获取数据的键发送至第一判断单元450。
(5)第一判断单元450;
第一判断单元450,用于判断所述缓存内存中是否存在所述待获取数据的键。
第一判断单元450获取到待获取数据的键后,将判断缓存内存中是否存在该待获取数据的键。若第一判断单元450判断出缓存内存中存在该待获取数据的键,那么第一判断单元450将向发送单元460发送第一信号,以便于发送单元460根据第一信号执行相应操作。若第一判断单元450判断出缓存内存中不存在该待获取数据的键,那么第一判断单元450将向新建单元470发送第二信号,以便于新建单元470根据第二信号执行相应操作。
(6)发送单元460;
发送单元460,用于若所述缓存内存中存在所述待获取数据的键,将所述待获取数据的键对应的键值发送至所述客户端。
当发送单元460接收到第一判断单元450发送的第一信号后,将根据该待获取数据的键获取相对应的键值,并将该键值发送至客户端。
在一实施例中,若该键值为本实施例中的预设值,说明客户端需要的待获取数据的键在缓存内存中是不存在值的键,此时客户端可以放弃获取该待获取数据,也可以等待下一个轮询时间点再次向服务器400获取该待获取数据。若在下一个轮询时间点到来之前,服务器400更新了缓存内存中该待获取数据对应的键值,那么客户端在下一个轮询时间点所获取到的键值就为有效的键值。这样就避免了因将缓存内存中客户端所需的数据完全删除掉而穿透缓存内存直接访问数据库,给数据库带来极大的数据处理压力。
(7)新建单元470;
新建单元470,用于若所述缓存内存中不存在所述待获取数据的键,根据分布式锁方法在所述缓存内存中新建所述待获取数据的键。
在一实施例中,当新建单元470接收到第一判断单元450发送的第二信号时,新建单元470将根据setNX(英文全名:set ifno exist)方法在缓存内存中新建该待获取数据的键。可以理解的是,分布式锁方法不局限于上述的setNX方法,还可以为其他方法,在此不做具体限制。
另外,当有多个客户端同时向服务器400获取该待获取数据时,新建单元470采用setNX方法允许一个客户端的数据获取请求获得锁,其他客户端的数据获取请求将不会获得锁,这些未获得锁的请求将进入下一轮询,相当于处于等待状态。
新建单元470在缓存内存中新建了待获取数据的键后,将待获取数据的键发送至第二判断单元480,便于第二判断单元480执行相应操作。
(8)第二判断单元480。
第二判断单元480,用于判断数据库中是否存在所述待获取数据的键对应的键值。
第二判断单元480接收到待获取数据的键后,将在数据库中查找是否存在该待获取数据的键对应的键值。若第二判断单元480判断出在数据库中存在该待获取数据的键对应的键值,第二判断单元480将向发送单元460发送第三信号,以便于发送单元460根据第三信号将该待获取数据的键对应的键值发送至所述客户端。同时,第二判断单元480向存储单元430发送第四信号,以使得存储单元430根据第四信号将所述待获取数据的键对应的键值存储在所述缓存内存中,这样便于其他客户端可以根据待获取数据的键从缓存内存中直接获取相应的键值,而无需再次访问数据库。
在一实施例中,在存储单元430将该待获取数据的键对应的键值存储在缓存内存后,其他未获得锁的数据获取请求在不断地轮询过程中,将会从缓存内存中获取到该待获取数据的键对应的键值,发送单元460再将该待获取数据的键对应的键值发送到其他客户端中。
若第二判断单元480判断出在数据库中不存在该待获取数据的键对应的键值,说明数据库中不存在相关数据,为了避免不断地查询缓存内存和数据库而造成死循环,第二判断单元480将向设置单元420发送第五信号,以使得设置单元420根据第五信号将所述预设值设置为所述待获取数据的键对应的键值,并将所述预设值与所述待获取数据的键组成键值对,并将该键值对发送至存储单元430。
存储单元430还用于存储所述待获取数据的键及对应的键值至所述缓存内存中,也就是说,将设置单元420发送的键值对存储在缓存内存中。同时,存储单元430将待获取数据的键对应的键值发送至发送单元460,发送单元460向所述客户端发送所述待获取数据的键对应的键值。
这样,在客户端接收到该预设值时,可以得知其所需要的数据的键为缓存内存中不存在值的键,客户端可以等待下一个时间轮询点再次向服务器400获取该待获取数据对应的键值。客户端也可以放弃获取该待获取数据对应的键值。这样就避免客户端不断地访问数据库,造成访问死循环。
当数据库更新了该待获取数据后,服务器400将同步更新缓存内存中该待获取数据的键值,即将待获取数据对应的键值由预设值替换为有效的键值,这样,当下一次客户端需要获取该待获取数据时,就可以从缓存内存中获取到有效的键值。
本发明实施例提供的服务器400,可以避免因将缓存内存中客户端所需的数据完全删除掉而出现客户端高并发访问数据库的情况,降低数据库发生崩溃的风险,提高客户端、服务器400的稳定性和安全性。同时,在第一判断单元450判断出缓存内存中不存在客户端所需数据对应的键时,新建单元470通过分布式锁方式创建键,并在第二判断单元480判断出数据库中不存在待获取数据的键对应的键值时,设置单元420通过将预设值赋值给待获取数据的键,并由发送单元460将该预设值反馈至客户端,从而避免客户端不断地访问缓存内存和数据库,避免出现死循环的情况,也可以避免该类客户端占用服务器400较多资源,提高服务器400处理数据的有效率。
请参阅图7,图7是本发明实施例提供的一种服务器的示意性框图。该服务器500可以为需要与客户端进行交互的服务器,譬如,各类应用服务器,在此不做具体限制。
该服务器500可以包括一个或者一个以上处理核心的处理器510、一个或一个以上计算机可读存储介质的存储器520、通信单元530、电源540、输入设备550、以及输出设备560等部件,其中,处理器510、存储器520、通信单元530、电源540、输入设备550和输出设备560通过总线570相互连接。
其中,所述处理器510用于运行存储在存储器520中的程序代码,以实现如下功能:若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值;将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对;将所述键值对保存在所述缓存内存中。
在一实施例中,处理器510在执行将所述键值对保存在所述缓存内存中之后,还执行如下程序:获取所述客户端发送的数据获取请求,其中,所述数据获取请求包括待获取数据的键;判断所述缓存内存中是否存在所述待获取数据的键;若所述缓存内存中存在所述待获取数据的键,将所述待获取数据的键对应的键值发送至所述客户端。
在一实施例中,处理器510在执行判断所述缓存内存中是否存在所述待获取数据的键之后,还执行如下程序:若所述缓存内存中不存在所述待获取数据的键,根据分布式锁方法在所述缓存内存中新建所述待获取数据的键;判断数据库中是否存在所述待获取数据的键对应的键值;若数据库中不存在所述待获取数据的键对应的键值,将所述预设值设置为所述待获取数据的键对应的键值;以及存储所述待获取数据的键及对应的键值至所述缓存内存中,并向所述客户端发送所述待获取数据的键对应的键值。
在一实施例中,处理器510在执行判断数据库中是否存在所述待获取数据的键对应的键值之后,还执行如下程序:若数据库中存在所述待获取数据的键对应的键值,将所述待获取数据的键对应的键值发送至所述客户端;以及将所述待获取数据的键对应的键值存储在所述缓存内存中。
在一实施例中,处理器510在执行将所述键值对保存在所述缓存内存中之后,还执行如下程序:若检测到数据库更新,更新所述缓存内存中的待更新缓存数据;若检测到所述缓存内存出现更新异常,将未完成更新操作的待更新缓存数据的键依次存入消息***中。
在一实施例中,处理器510在执行将未完成更新操作的待更新缓存数据的键依次存入消息***中之后,还执行如下程序:在检测到所述缓存内存正常运行时,依次从所述消息***中读取所述待更新缓存数据的键并进行更新操作。
在一实施例中,所述分布式锁方法包括setNX方法
应当理解,在本发明实施例中,处理器510可以是中央处理单元(CentralProcessing Unit,CPU),该处理器510还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器520可以包括只读存储器和随机存储器,并向处理器510提供程序代码和数据。存储器520的一部分还可以包括非易失性随机存取存储器。
通信单元530可用于收发信息过程中,信号的接收和发送,特别地,通讯单元530接收客户端发送的信号,并将信号交由一个或者一个以上处理器510处理。同时,通讯单元530将处理器510发出的反馈信号发送给客户端。
电源540(比如电池),优选的,电源540可以通过电源管理***与处理器510逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源540还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
输入设备550可以包括触控板等。
输出设备560,可用于显示由用户输入的信息或提供给用户的信息以及服务器500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标等构成。输出设备560可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。
具体实现中,本发明实施例中所描述的处理器510、输入设备550、输出设备560等可执行上述针对数据的管理方法的任意一个实施例中所描述的实现方式,也可执行本发明实施例所描述的服务器的实现方式,在此不再赘述。
本领域技术人员可以理解,图7中示出的服务器500结构并不构成对服务器500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在本发明的另一实施例中提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值;将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对;将所述键值对保存在所述缓存内存中。
在一实施例中,该程序指令被处理器执行时具体实现:获取所述客户端发送的数据获取请求,其中,所述数据获取请求包括待获取数据的键;判断所述缓存内存中是否存在所述待获取数据的键;若所述缓存内存中存在所述待获取数据的键,将所述待获取数据的键对应的键值发送至所述客户端。
在一实施例中,该程序指令被处理器执行时具体实现:若所述缓存内存中不存在所述待获取数据的键,根据分布式锁方法在所述缓存内存中新建所述待获取数据的键;判断数据库中是否存在所述待获取数据的键对应的键值;若数据库中不存在所述待获取数据的键对应的键值,将所述预设值设置为所述待获取数据的键对应的键值;以及存储所述待获取数据的键及对应的键值至所述缓存内存中,并向所述客户端发送所述待获取数据的键对应的键值。
在一实施例中,该程序指令被处理器执行时具体实现:若数据库中存在所述待获取数据的键对应的键值,将所述待获取数据的键对应的键值发送至所述客户端;以及将所述待获取数据的键对应的键值存储在所述缓存内存中。
在一实施例中,该程序指令被处理器执行时具体实现:若检测到数据库更新,更新所述缓存内存中的待更新缓存数据;若检测到所述缓存内存出现更新异常,将未完成更新操作的待更新缓存数据的键依次存入消息***中。
在一实施例中,该程序指令被处理器执行时具体实现:在检测到所述缓存内存正常运行时,依次从所述消息***中读取所述待更新缓存数据的键并进行更新操作。
在一实施例中,所述分布式锁方法包括setNX方法。
该计算机可读存储介质可以是前述任一实施例中的服务器的内部存储单元,例如服务器的硬盘或内存。该计算机可读存储介质也可以是服务器的外部存储设备,例如服务器上配备的插接式硬盘等。
进一步地,该计算机可读存储介质还可以既包括服务器的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储计算机程序以及服务器所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的服务器和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器和方法,可以通过其它的方式实现。例如,以上所描述的服务器实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例服务器中的单元可以根据实际需要进行合并、划分和删减。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据的管理方法,应用于服务器,其特征在于,包括:
若检测到删除缓存数据指令,删除缓存内存中待删除缓存数据对应的键值;
将预设值设为新键值,并将所述新键值与所述待删除缓存数据对应的键组成键值对;
将所述键值对保存在所述缓存内存中。
2.根据权利要求1所述的数据的管理方法,其特征在于,还包括:
获取客户端发送的数据获取请求,其中,所述数据获取请求包括待获取数据的键;
判断所述缓存内存中是否存在所述待获取数据的键;
若所述缓存内存中存在所述待获取数据的键,将所述待获取数据的键对应的键值发送至所述客户端。
3.根据权利要求2所述的数据的管理方法,其特征在于,在所述判断所述缓存内存中是否存在所述待获取数据的键之后,还包括:
若所述缓存内存中不存在所述待获取数据的键,根据分布式锁方法在所述缓存内存中新建所述待获取数据的键;
判断数据库中是否存在所述待获取数据的键对应的键值;
若数据库中不存在所述待获取数据的键对应的键值,将所述预设值设置为所述待获取数据的键对应的键值;以及
存储所述待获取数据的键及对应的键值至所述缓存内存中,并向所述客户端发送所述待获取数据的键对应的键值。
4.根据权利要求3所述的数据的管理方法,其特征在于,在所述判断数据库中是否存在所述待获取数据的键对应的键值之后,还包括:
若数据库中存在所述待获取数据的键对应的键值,将所述待获取数据的键对应的键值发送至所述客户端;以及
将所述待获取数据的键对应的键值存储在所述缓存内存中。
5.根据权利要求1所述的数据的管理方法,其特征在于,还包括:
若检测到数据库更新,更新所述缓存内存中的待更新缓存数据;
若检测到所述缓存内存出现更新异常,将未完成更新操作的待更新缓存数据的键依次存入消息***中。
6.根据权利要求5所述的数据的管理方法,其特征在于,在所述将未完成更新操作的待更新缓存数据的键依次存入消息***中之后,还包括:
在检测到所述缓存内存正常运行时,依次从所述消息***中读取所述待更新缓存数据的键并进行更新操作。
7.根据权利要求3所述的数据的管理方法,其特征在于,所述分布式锁方法包括setNX方法。
8.一种服务器,其特征在于,包括用于执行如权利要求1-7任一权利要求所述数据的管理方法的单元。
9.一种服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储程序代码,所述处理器被配置用于运行所述程序代码,执行如权利要求1-7任一项所述的数据的管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的数据的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807309.5A CN107562905A (zh) | 2017-09-08 | 2017-09-08 | 数据的管理方法、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807309.5A CN107562905A (zh) | 2017-09-08 | 2017-09-08 | 数据的管理方法、服务器及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107562905A true CN107562905A (zh) | 2018-01-09 |
Family
ID=60980312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710807309.5A Withdrawn CN107562905A (zh) | 2017-09-08 | 2017-09-08 | 数据的管理方法、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562905A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710615A (zh) * | 2018-12-29 | 2019-05-03 | 江苏满运软件科技有限公司 | 数据库的访问管理方法、***、电子设备和存储介质 |
CN110750566A (zh) * | 2019-10-24 | 2020-02-04 | 广州欢聊网络科技有限公司 | 数据处理方法、装置、缓存***及缓存管理平台 |
CN110955682A (zh) * | 2019-11-22 | 2020-04-03 | 北京金山云网络技术有限公司 | 缓存数据的删除、数据缓存及缓存数据的读取方法及装置 |
CN111104432A (zh) * | 2019-12-31 | 2020-05-05 | 佛山市禾才科技服务有限公司 | 一种清理缓存数据的方法和*** |
CN111177196A (zh) * | 2019-12-25 | 2020-05-19 | 海尔优家智能科技(北京)有限公司 | 时间窗聚合计算方法及装置 |
CN111382142A (zh) * | 2020-03-04 | 2020-07-07 | 海南金盘智能科技股份有限公司 | 数据库的操作方法、服务器和计算机存储介质 |
CN111651374A (zh) * | 2020-04-14 | 2020-09-11 | 北京齐尔布莱特科技有限公司 | 一种数据处理方法、装置、计算设备及可读存储介质 |
CN112559498A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 时序时空数据库***的分布式架构的构建方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117338A (zh) * | 2011-04-02 | 2011-07-06 | 天脉聚源(北京)传媒科技有限公司 | 一种数据库缓存的方法 |
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN103188294A (zh) * | 2011-12-28 | 2013-07-03 | 百度在线网络技术(北京)有限公司 | 分布式缓存的删除方法及删除*** |
CN104715020A (zh) * | 2015-02-13 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 缓存数据的删除方法及服务器 |
-
2017
- 2017-09-08 CN CN201710807309.5A patent/CN107562905A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117338A (zh) * | 2011-04-02 | 2011-07-06 | 天脉聚源(北京)传媒科技有限公司 | 一种数据库缓存的方法 |
CN103188294A (zh) * | 2011-12-28 | 2013-07-03 | 百度在线网络技术(北京)有限公司 | 分布式缓存的删除方法及删除*** |
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN104715020A (zh) * | 2015-02-13 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 缓存数据的删除方法及服务器 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710615A (zh) * | 2018-12-29 | 2019-05-03 | 江苏满运软件科技有限公司 | 数据库的访问管理方法、***、电子设备和存储介质 |
CN109710615B (zh) * | 2018-12-29 | 2021-08-03 | 江苏满运软件科技有限公司 | 数据库的访问管理方法、***、电子设备和存储介质 |
CN110750566A (zh) * | 2019-10-24 | 2020-02-04 | 广州欢聊网络科技有限公司 | 数据处理方法、装置、缓存***及缓存管理平台 |
CN110955682A (zh) * | 2019-11-22 | 2020-04-03 | 北京金山云网络技术有限公司 | 缓存数据的删除、数据缓存及缓存数据的读取方法及装置 |
CN111177196A (zh) * | 2019-12-25 | 2020-05-19 | 海尔优家智能科技(北京)有限公司 | 时间窗聚合计算方法及装置 |
CN111177196B (zh) * | 2019-12-25 | 2023-12-19 | 海尔优家智能科技(北京)有限公司 | 时间窗聚合计算方法及装置 |
CN111104432A (zh) * | 2019-12-31 | 2020-05-05 | 佛山市禾才科技服务有限公司 | 一种清理缓存数据的方法和*** |
CN111382142A (zh) * | 2020-03-04 | 2020-07-07 | 海南金盘智能科技股份有限公司 | 数据库的操作方法、服务器和计算机存储介质 |
CN111382142B (zh) * | 2020-03-04 | 2023-06-20 | 海南金盘智能科技股份有限公司 | 数据库的操作方法、服务器和计算机存储介质 |
CN111651374A (zh) * | 2020-04-14 | 2020-09-11 | 北京齐尔布莱特科技有限公司 | 一种数据处理方法、装置、计算设备及可读存储介质 |
CN112559498A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 时序时空数据库***的分布式架构的构建方法、装置 |
CN112559498B (zh) * | 2020-12-25 | 2024-04-30 | 北京百度网讯科技有限公司 | 时序时空数据库***的分布式架构的构建方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562905A (zh) | 数据的管理方法、服务器及计算机可读存储介质 | |
JP5006348B2 (ja) | 応答出力キャッシュに対するマルチキャッシュ協調 | |
CN104935654B (zh) | 一种服务器集群***中的缓存方法、写入点客户端和读客户端 | |
KR100451211B1 (ko) | 이동 컴퓨팅 환경에서 트랜잭션 캐시 일관성 유지 시스템및 방법 | |
US8112434B2 (en) | Performance of an enterprise service bus by decomposing a query result from the service registry | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
CN106981024B (zh) | 一种交易限额计算处理***及其处理方法 | |
CN106603713A (zh) | 会话管理方法和*** | |
CN103312624B (zh) | 一种消息队列服务***和方法 | |
US20120072763A1 (en) | System and method of file locking in a network file system federated namespace | |
JP2004528636A (ja) | 自動データ更新 | |
CN101090401A (zh) | 一种群集环境下的数据缓存方法及*** | |
US9928178B1 (en) | Memory-efficient management of computer network resources | |
US20100262687A1 (en) | Dynamic data partitioning for hot spot active data and other data | |
EP2210177A1 (en) | Statistical applications in oltp environment | |
CN106685902A (zh) | 一种用户权限管理方法及客户端、服务器 | |
CN114064668A (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
CN104580428A (zh) | 一种数据路由方法、数据管理装置和分布式存储*** | |
US8515906B2 (en) | Maintaining client data integrity in a distributed environment using asynchronous data submission | |
CN111031126B (zh) | 集群缓存共享方法、***、设备及存储介质 | |
CN104702508A (zh) | 表项动态更新方法及*** | |
US10402373B1 (en) | Filesystem redirection | |
WO2023142605A1 (zh) | 一种基于区块链的数据处理方法和相关装置 | |
CN104063271A (zh) | 具有事务能力的排队 | |
US10185735B2 (en) | Distributed database system and a non-transitory computer readable medium |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180109 |
|
WW01 | Invention patent application withdrawn after publication |