CN111538463A - 一种实现内存数据库持久化的方法 - Google Patents

一种实现内存数据库持久化的方法 Download PDF

Info

Publication number
CN111538463A
CN111538463A CN202010362100.4A CN202010362100A CN111538463A CN 111538463 A CN111538463 A CN 111538463A CN 202010362100 A CN202010362100 A CN 202010362100A CN 111538463 A CN111538463 A CN 111538463A
Authority
CN
China
Prior art keywords
data
memory database
time
parameter
redis
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
Application number
CN202010362100.4A
Other languages
English (en)
Inventor
侯孟书
李林飞
赖杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010362100.4A priority Critical patent/CN111538463A/zh
Publication of CN111538463A publication Critical patent/CN111538463A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现内存数据库持久化的方法,包括以下步骤:写操作写入持久层,再写入Redis内存数据库;Redis内存数据库进行数据淘汰;清除Redis内存数据库淘汰的冷数据;读操作读取Redis内存数据库,当未读取到相应数据时,在读取持久层中的数据,再反向写入Redis内存数据库中。本发明方案通过采用缓存层和持久层分离的设计,对服务端进行改造,将优化原生Redis的持久化方案改造为将持久化部分交由LevelDB单独处理,降低了原生持久化方案的不稳定风险;提高了数据安全性和系统恢复的效率;并解决了Redis内存数据库疯狂占用内存的问题。

Description

一种实现内存数据库持久化的方法
技术领域
本发明涉及数据存储领域,尤其涉及一种实现内存数据库持久化的方法。
背景技术
在我们日常生活、工作和学习中,无时无刻都在产生着各种各样的信息,而信息在产生以后是需要一定的载体才能使其得以保存,数据库在这其中就扮演着重要的角色。数据库是存放数据的仓库,而这个仓库是按照我们设定的数据结构来进行组织、存储和管理数据,这样才能更加方便的对数据进行保留和使用。在当前与计算和大数据的时代背景下,也出现了越来越多的非关系型数据库。根据数据存储位置的不同,从大方向上将数据库分为磁盘数据库和内存数据库。而对于请求处理速度要求越来越高的时代背景下,磁盘数据库先天硬件不足的问题逐渐凸显,相比于磁盘数据库来说,内存数据库主要具有以下几个优势:
(1)在数据存取过程中,很大程度上避免了磁盘针头进行IO操作必须的机械等待时间;
(2)在组织管理数据和索引时,大面积的使用了指针,降低了内存的开销,是的内存管理也更更加简便;
(3)消除了主存和磁盘之间额外的数据传输和开销,从而避免了使用缓冲管理器,加快了数据处理时效。
当前开源的内存数据库较少,而在开源的内存数据库中,Redis是比较典型的读写性能优越,但不可避免的是,内存数据库也存在不足,其优势也正是它的劣势:
由于内存数据库的数据几乎常驻在内存中,提高响应速度的同时,系统意外掉电或者崩溃的时候,内存中存储的数据内容就会出现丢失的严重问题。受当前存储设备的技术水平有限,内存数据库要实现数据的安全性,不得不依靠外存磁盘来提高稳定性,因此也相应会引入一些磁盘的IO操作,这对事务处理速度有着一定影响。
发明内容
本发明的目的在于,针对上述问题,一种实现内存数据库持久化的方法。
本发明的发明目的是通过以下技术方案实现的:
一种实现内存数据库持久化的方法,包括以下步骤:
S1. 写操作写入持久层,再写入Redis内存数据库;
S2. Redis内存数据库进行数据淘汰;
S3. 清除Redis内存数据库淘汰的冷数据;
S4. 读操作读取Redis内存数据库,当未读取到相应数据时,在读取持久层中的数据,再反向写入Redis内存数据库中。
其中,所述的步骤S3,还包括以下子步骤:
S301. 读取Redis内存数据库中数据,并设置每条数据的过期时间;
S302. 设置第一参数和第二参数,通过设置的参数对数据过期时间进行修改,所述的第一参数为数据在内存中存活的存活时间,所述的第二参数为开始检查的检查时间;
S303.通过过期时间判断数据是否过期,若为是,数据为冷数据,则将数据淘汰至LevelDB存储引擎;若为否,数据非冷数据,则将数据存储入redis内存数据库。
所述的步骤S303,还包括以下子步骤:
S3031. 判断第一参数是否大于0,若是,则执行步骤S3032;
S3032. 判断第一参数是否大于第二参数,若是,则执行步骤S3033;
S3033. 获取过期时间,并判断数据是否达到过期时间或剩余时间是否小于第二参数,若为是,则执行步骤S3034;
S3034. 重新计算过期时间;
S3035. 重新设置过期时间。
所述的剩余时间,具体为:剩余时间=存活时间-检查时间。
一种采用本方法实现持久化的系统,包括客户端和服务端,所述的服务端包括缓存层和持久层,其中,所述的缓存层包括:网络通信模块,接收客户端发送请求数据,并将执行结果写入持久层和数据存储模块,并发送至客户端;事件处理模块,处理服务器中的多种事件;集群管理模块,通过集群管理模块中的集群模式,接收网络通信模块发送的请求数据,并对数据进行分片或将读请求分担至读节点上,保证数据在节点之间进行正确传递。数据存储模块,包括数据淘汰模块和第一缓存数据模块,用于对数据进行热数据存储和冷数据淘汰,所述的数据淘汰模块,通过冷数据淘汰机制,将不常用的冷数据淘汰至持久层,降低内存占用空间;所述的第一缓存数据模块,用于存储常用的热数据,通过合理维护内存结构中的缓存数据,将读请求的处理速度保持在原生内存数据库状态,不需要每次都进入和持久层中进行数据读写,提高读写效率。
所述的持久层,为一个LevelDB存储引擎,保护数据安全性和提高数据库恢复效率。
所述的客户端包括:网络IO模块,通过网络IO模块与服务端的网络通信模块进行数据交互,接收服务端发送的反馈结果;数据读写模块,提供各种命令请求所需的接口。
所述的持久层,包括:第二缓存数据模块,通过对缓存层进入LevelDB的数据进行暂存,减少进入sstable读取数据的次数,提高数据读写速度;sstable模块,通过对数据管理模块中的数据进行存储,实现多层级实现方式;日志管理模块,通过对写数据操作进行预写日志,防止缓存数据丢失,提高数据安全性;数据管理模块,通过记录数据key值的最大和最小值,对数据进行排列,加快合并速度。
所述的事件处理模块的事件,包括文件事件和时间事件;所述的文件事件,为服务端和客户端通信时产生的时间,服务端通过监听和处理文件事件来完成网络操作;所述的时间事件,为缓存层在指定时间点执行操作产生的事件。
本发明的有益效果:
(1)降低原生持久化方案的不稳定风险;
(2)提高数据安全性和系统恢复的效率;
(3)解决Redis内存数据库疯狂占用内存的问题。
附图说明
图1为本发明的方法流程图;
图2为本发明的冷数据淘汰的方法流程图;
图3为本发明的系统结构图;
图4为本发明实施例1的写入数据示意图;
图5为本发明的查询数据成功示意图;
图6为本发明实施例1的恢复速率测试图;
图7为本发明实施例1的性能对比图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,先对照附图说明本发明的具体实施方式。
如图1所示,一种实现内存数据库持久化的方法,包括以下步骤:
S1. 写操作写入持久层,再写入Redis内存数据库;
S2. Redis内存数据库进行数据淘汰;
S3. 清除Redis内存数据库淘汰的冷数据;
S4. 读操作读取Redis内存数据库,当未读取到相应数据时,在读取持久层中的数据,再反向写入Redis内存数据库中;
其中,所述的步骤S3,还包括以下子步骤:
S301. 读取Redis内存数据库中数据,并设置每条数据的过期时间;
S302. 设置第一参数和第二参数,设置LevelDB存储引擎参数默认值如图2,其中第一参数为ttl,第二参数为ttl_check;通过设置的参数对数据过期时间进行修改,所述的第一参数为数据在内存中存活的存活时间,所述的第二参数为开始检查的检查时间;
S303.通过过期时间判断数据是否过期,若为是,数据为冷数据,则将数据淘汰至LevelDB存储引擎;若为否,数据非冷数据,则将数据存储入redis内存数据库。
所述的步骤S303,还包括以下子步骤:
S3031. 判断第一参数是否大于0,若是,则执行步骤S3032;
S3032. 判断第一参数是否大于第二参数,若是,则执行步骤S3033;
S3033. 获取过期时间,并判断数据是否达到过期时间或剩余时间是否小于第二参数,若为是,则执行步骤S3034;
S3034. 重新计算过期时间;
S3035. 重新设置过期时间。
如图3所示,一种采用本方法实现持久化的系统,包括客户端和服务端,所述的服务端包括缓存层和持久层,其中,所述的缓存层包括:网络通信模块,接收客户端发送请求数据,并将执行结果写入持久层和数据存储模块,并发送至客户端;事件处理模块,处理服务器中的多种事件;集群管理模块,通过集群管理模块中的集群模式,接收网络通信模块发送的请求数据,并对数据进行分片或将读请求分担至读节点上,保证数据在节点之间进行正确传递。数据存储模块,包括数据淘汰模块和第一缓存数据模块,用于对数据进行热数据存储和冷数据淘汰,所述的数据淘汰模块,通过冷数据淘汰机制,将不常用的冷数据淘汰至持久层,降低内存占用空间;所述的第一缓存数据模块,用于存储常用的热数据,通过合理维护内存结构中的缓存数据,将读请求的处理速度保持在原生内存数据库状态,不需要每次都进入和持久层中进行数据读写,提高读写效率。
所述的持久层,为一个LevelDB存储引擎,保护数据安全性和提高数据库恢复效率。
所述的客户端包括:网络IO模块,通过网络IO模块与服务端的网络通信模块进行数据交互,接收服务端发送的反馈结果;数据读写模块,提供各种命令请求所需的接口。
所述的持久层,包括:第二缓存数据模块,通过对缓存层进入LevelDB的数据进行暂存,减少进入sstable读取数据的次数,提高数据读写速度;sstable模块,通过对数据管理模块中的数据进行存储,实现多层级实现方式;日志管理模块,通过对写数据操作进行预写日志,防止缓存数据丢失,提高数据安全性;数据管理模块,通过记录数据key值的最大和最小值,对数据进行排列,加快合并速度。
所述的事件处理模块的事件,包括文件事件和时间事件;所述的文件事件,为服务端和客户端通信时产生的时间,服务端通过监听和处理文件事件来完成网络操作;所述的时间事件,为缓存层在指定时间点执行操作产生的事件。
本实施例的具体实施方法及原理如下:
冷数据淘汰的实现原理:
Redis内存数据库进行数据淘汰;
设置第一参数和第二参数,设置LevelDB存储引擎参数,其中第一参数为ttl,第二参数为ttl_check;通过设置的参数对数据过期时间进行修改,所述的第一参数为数据在内存中存活的存活时间,所述的第二参数为开始检查的检查时间;通过过期时间判断数据是否过期,若为是,数据为冷数据,则将数据淘汰至LevelDB存储引擎;若为否,数据非冷数据,则将数据存储入redis内存数据库。判断第一参数是否大于0,若是,判断第一参数是否大于第二参数,若是,获取过期时间,并判断数据是否达到过期时间或剩余时间是否小于第二参数,若为是,重新计算过期时间;重新设置过期时间。读取Redis内存数据库中数据,并设置每条数据的过期时间;所述的剩余时间,具体为:剩余时间=存活时间-检查时间;
清除Redis内存数据库淘汰的冷数据。
数据库空重启的实现原理:
系统在遭遇问题时,有时候需要进行系统恢复。每个优秀的数据库应该具备快速恢复数据库进入可以对外服务的状态的能力,因此系统对于进行恢复的速度有着较高要求。在原生Redis中,采用RDB或者AOF进行数据持久化,只是对数据进行备份操作。但是备份的数据不可以进行实时读取,只适用于系统状态恢复时,通过读取检查点数据或者重做日志的方式,将数据加载到内存。因此当系统掉电或者崩溃后,需要进行系统恢复时,在数据量巨大的情况下,数据重新加载到内存中需要耗费大量的时间,使得系统恢复的过程特别缓慢。
其中,根据本方案的读写方向,可大致分为:写操作写入LevelDB,再写入Redis;读操作先读取Redis,未读取到相应数据时,在读取LevelDB的数据,最后反向写回Redis。此读写流程除了保证读取效率和数据安全性,还可以是系统在需要的情况下,直接读取到已经持久化的数据。并且数据安全性得到保证,这就避免了系统在恢复时,需要重新将所有数据一次性加载到内存中。
采用本方法,可以使得系统进行空加载,即不需要将数据重新加载到内存,在开启持久化方式的情况下,摒弃了数据加载步骤,可以快速启动系统,在后续数据读写的过程中,再从LevelDB中读取需要的数据,并缓存到Redis,设定相应的过期时间。
实施例1为本系统数据安全性测试:
数据安全性是指系统遭遇意外,比如系统突然崩溃、掉电等问题时,数据能不丢失,不出错,保持数据完整性。因此在测试过程中,模拟系统意外掉电的情况,对数据安全性进行测试。首先对系统写入数据键为key_safe,值为value_safe,返回结果成功,再查询键key_safe,成功返回值value_safe。测试过程如图4所示;
此时将硬件设备的电源突然断掉,造成数据库系统掉电的情况。然后重启硬件设备,并重启数据库,对键key_safe进行查询,成功返回结果value_safe。重启后,测试过程如图5所示;
如上述所示,本发明系统避免了在系统恢复时,需要重新将所有数据一次性加载到内存中,采用本方案可以使得系统进行孔家在,即不需要将数据重新加载到内存。摒弃了数据加载这一步,可以快速启动系统,在后续数据读写的过程中,再从LevelDB持久层读取需要的数据,缓存至Redis,设定相应的过期时间。
对比原生Redis系统和改造后Redis系统。在原生Redis系统中,只开启RDB数据备份的方式,而改造后的系统只开启改造后的的持久化方案。测试场景为在两个数据库中已经写入并持久化完成相同的数据量,每条数据的大小为1KB,系统恢复测试结果如图6,随着数据量的增大,原生系统的所需回复时间越长,基本上为线性增长,而改造后系统几乎不需要恢复的事件,在启动系统后,马上可以对外提供服务,呈现出良好的系统恢复性能。
实施例2为本系统读写性能测试:
本实施例通过workload测试场景进行原生Redis和采用冷数据淘汰机制持久化后Redis进行对比,每条测试数据大小为1KB,每个字段大小为100B,在百分之百读操作场景下,对比性能如图7;
通过图7结果可以得出,在低数据量情况下,读取性能基本一致。但是在大数量的情况下,部分数据被冷数据淘汰机制从内存中清楚,再进行读取就只能从持久层读取,会产生一定的延迟,但是经过采用本发明方法,Redis原生系统中的AOF和RDB数据备份所带来延迟被取消,提升部分性能。总体性能差别不大。但采用本发明方法,直接解决了Redis数据库在长时间运行后,数据量过大而占用内存过大的问题。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (3)

1.一种实现内存数据库持久化的方法,其特征在于,包括以下步骤:
S1. 写操作写入持久层,再写入Redis内存数据库;
S2. Redis内存数据库进行数据淘汰;
S3. 清除Redis内存数据库淘汰的冷数据;
S4. 读操作读取Redis内存数据库,当未读取到相应数据时,在读取持久层中的数据,再反向写入Redis内存数据库中;
其中,所述的步骤S3,还包括以下子步骤:
S301. 读取Redis内存数据库中数据,并设置每条数据的过期时间;
S302. 设置第一参数和第二参数,通过设置的参数对数据过期时间进行修改,所述的第一参数为数据在内存中存活的存活时间,所述的第二参数为开始检查的检查时间;
S303.通过过期时间判断数据是否过期,若为是,数据为冷数据,则将数据淘汰至LevelDB存储引擎;若为否,数据非冷数据,则将数据存储入redis内存数据库。
2.根据权利要求1所述的一种实现内存数据库持久化的方法,其特征在于,所述的步骤S303,还包括以下子步骤:
S3031. 判断第一参数是否大于0,若是,则执行步骤S3032;
S3032. 判断第一参数是否大于第二参数,若是,则执行步骤S3033;
S3033. 获取过期时间,并判断数据是否达到过期时间或剩余时间是否小于第二参数,若为是,则执行步骤S3034;
S3034. 重新计算过期时间;
S3035. 重新设置过期时间。
3.根据权利要求1所述的一种实现内存数据库持久化的方法,其特征在于,所述的剩余时间,具体为:剩余时间=存活时间-检查时间。
CN202010362100.4A 2020-04-30 2020-04-30 一种实现内存数据库持久化的方法 Pending CN111538463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010362100.4A CN111538463A (zh) 2020-04-30 2020-04-30 一种实现内存数据库持久化的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010362100.4A CN111538463A (zh) 2020-04-30 2020-04-30 一种实现内存数据库持久化的方法

Publications (1)

Publication Number Publication Date
CN111538463A true CN111538463A (zh) 2020-08-14

Family

ID=71977399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010362100.4A Pending CN111538463A (zh) 2020-04-30 2020-04-30 一种实现内存数据库持久化的方法

Country Status (1)

Country Link
CN (1) CN111538463A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112241339A (zh) * 2020-10-23 2021-01-19 浪潮云信息技术股份公司 一种基于网络的Redis持久化方法
CN112347134A (zh) * 2020-11-05 2021-02-09 平安科技(深圳)有限公司 Redis缓存管理的方法、装置、计算机设备及存储介质
CN113031864A (zh) * 2021-03-19 2021-06-25 上海众源网络有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113420021A (zh) * 2021-07-14 2021-09-21 苏州峰之鼎信息科技有限公司 一种数据存储方法、装置、设备及介质
CN113641689A (zh) * 2021-07-22 2021-11-12 上海云轴信息科技有限公司 基于轻量级数据库的数据处理方法及设备
CN115061858A (zh) * 2022-08-19 2022-09-16 湖南视拓信息技术股份有限公司 数据持久化方法、装置、计算机设备及存储介质
CN115827701A (zh) * 2023-01-09 2023-03-21 中国电子信息产业集团有限公司第六研究所 一种多层异构数据的管理系统、方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886079A (zh) * 2014-03-26 2014-06-25 北京京东尚科信息技术有限公司 一种数据处理方法和系统
CN105808643A (zh) * 2016-02-25 2016-07-27 浪潮通信信息系统有限公司 一种Redis内存数据库刷新的方法
CN110895524A (zh) * 2018-08-24 2020-03-20 武汉斗鱼网络科技有限公司 redis满载时键的复合过期方法、装置、服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886079A (zh) * 2014-03-26 2014-06-25 北京京东尚科信息技术有限公司 一种数据处理方法和系统
CN105808643A (zh) * 2016-02-25 2016-07-27 浪潮通信信息系统有限公司 一种Redis内存数据库刷新的方法
CN110895524A (zh) * 2018-08-24 2020-03-20 武汉斗鱼网络科技有限公司 redis满载时键的复合过期方法、装置、服务器及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
知乎网友: "既生Redis何生LevelDB?", 《知乎 HTTPS://ZHUANLAN.ZHIHU.COM/P/53299788》 *
赵兴旺: "基于分布式缓存Memcached的HC Model机制及内部数据淘汰算法的研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112241339A (zh) * 2020-10-23 2021-01-19 浪潮云信息技术股份公司 一种基于网络的Redis持久化方法
CN112347134A (zh) * 2020-11-05 2021-02-09 平安科技(深圳)有限公司 Redis缓存管理的方法、装置、计算机设备及存储介质
CN112347134B (zh) * 2020-11-05 2023-05-30 平安科技(深圳)有限公司 Redis缓存管理的方法、装置、计算机设备及存储介质
CN113031864A (zh) * 2021-03-19 2021-06-25 上海众源网络有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113031864B (zh) * 2021-03-19 2024-02-02 上海众源网络有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113420021A (zh) * 2021-07-14 2021-09-21 苏州峰之鼎信息科技有限公司 一种数据存储方法、装置、设备及介质
CN113641689A (zh) * 2021-07-22 2021-11-12 上海云轴信息科技有限公司 基于轻量级数据库的数据处理方法及设备
CN115061858A (zh) * 2022-08-19 2022-09-16 湖南视拓信息技术股份有限公司 数据持久化方法、装置、计算机设备及存储介质
CN115061858B (zh) * 2022-08-19 2022-12-06 湖南视拓信息技术股份有限公司 数据持久化方法、装置、计算机设备及存储介质
CN115827701A (zh) * 2023-01-09 2023-03-21 中国电子信息产业集团有限公司第六研究所 一种多层异构数据的管理系统、方法及电子设备
CN115827701B (zh) * 2023-01-09 2023-04-18 中国电子信息产业集团有限公司第六研究所 一种多层异构数据的管理系统、方法及电子设备

Similar Documents

Publication Publication Date Title
CN111538463A (zh) 一种实现内存数据库持久化的方法
US7254686B2 (en) Switching between mirrored and non-mirrored volumes
US7627714B2 (en) Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller
US9720911B2 (en) System and method for variable block logging with log-ahead buffers
US6629211B2 (en) Method and system for improving raid controller performance through adaptive write back/write through caching
CN108664359B (zh) 一种数据库恢复方法、装置、设备及存储介质
US8392382B2 (en) On-line transaction processing (OLTP) compression and re-compression of database data
US10949415B2 (en) Logging system using persistent memory
CN108268219B (zh) 一种处理io请求的方法及装置
US10049036B2 (en) Reliable distributed messaging using non-volatile system memory
EP3805944B1 (en) Data page access method, storage engine, and computer readable storage medium
US20060224639A1 (en) Backup system, program and backup method
US9760480B1 (en) Enhanced logging using non-volatile system memory
US9542279B2 (en) Shadow paging based log segment directory
KR102262409B1 (ko) 비휘발성 메모리 기반 파일 시스템 및 이를 이용한 데이터 갱신 방법
KR20200056357A (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
CN111414392A (zh) 高速缓存异步刷新方法、系统及计算机可读存储介质
US9703795B2 (en) Reducing fragmentation in compressed journal storage
CN113590379A (zh) Redis数据持久化方法及系统
US8086580B2 (en) Handling access requests to a page while copying an updated page of data to storage
CN111338853B (zh) 一种基于Linux的数据实时存储系统及方法
US20220035548A1 (en) Data storage method, electronic device, and computer program product
US10089220B1 (en) Saving state information resulting from non-idempotent operations in non-volatile system memory
CN114780489B (zh) 一种实现分布式块存储底层gc的方法及装置
CN110659305A (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

Application publication date: 20200814

RJ01 Rejection of invention patent application after publication