包括以下步骤:
[0041]步骤201:建立键列表,并将具有过期时间的键写入键列表。
[0042]键列表中存储有键与对应的过期时间的映射关系。
[0043]其中,过期时间可以由用户通过相应的设置接口设置生成。不仅如此,在键列表中还可以存储待删除的键。当某个键被设置对应的过期时间后,则需要将该键以及其对应的过期时间写入建立的键列表中。
[0044]步骤202:按照设定时间间隔调用第一管理线程检查存储具有过期时间的键的键列表。
[0045]在服务器中设置有第一管理线程以及第二管理线程,其中,第一管理线程在服务器前端运行,主要用于对键列表中的键进行检查,确定过期键并将过期键添加至删除队列中。而第二管理线程在服务器后端运行,主要用于与数据库进行交互,依据删除队列从数据库中将删除列表中的待删除的各键删除。从而,通过并行的第一管理线程以及第二管理线程对数据库中的过期键进行有效管理。
[0046]其中,第一时间间隔的设定可以由本领域技术人员根据实际需求进行设置,例如:设置成I秒、2秒或I分钟等,本发明实施例对此不作具体限制。
[0047]一种优选的调用第一管理线程检查存储具有过期时间的键的键列表的具体方式如下:
[0048]首先,获取当前时间以及键列表中各键对应的过期时间。
[0049]由于键列表中的键对应有过期时间,因此,直接通过查询键列表即可确定各键对应的过期时间。
[0050]其次,若某一过期时间与当前时间不匹配,则判定与过期时间对应的键为过期键。
[0051]在判断过期时间是否于当前时间进行匹配时,可以通过判断当前时间是否超出过期时间来确定是否匹配,当前时间未超出过期时间则确定二者匹配,当前时间已超出过期时间则确定二者不匹配。
[0052]例如:当前时间为2015.12.02.18:00,键列表中包含两个键分别为键A和键B,键A对应的过期时间为2015.12.02.17:59,键B对应的过期时间为2015.12.03.18:00。在检查键列表中的键时,则可判定出键A对应的过期时间超出了当前时间,因此,键A为过期键;键B对应的过期时间未超出当前时间,因此,键B为非过期键。
[0053]需要说明的是,过期键并不局限于是键列表中存储的具有过期时间的键,还可以是键列表中存储的待删除的键。例如:当用户对某键执行删除操作后,相应的处理线程即可将待删除的键添加至键列表中。第一管理线程在对键列表进行检查时,不仅可以检查出时间过期的键,还可以检查出待删除的键,将待删除的键确定为过期键。例如:在键列表中未对应有过期时间的键即可确定为待删除的键,那么,第一管理线程在检查键列表中的待删除的键时,通过键是否对应有过期时间即可完成判定。
[0054]步骤203:若检查到键列表中存在过期键,将过期键添加至删除队列中。
[0055]其中,过期键包括多个成员,将过期键添加至删除队列中的同时还可以将各过期键包含的成员添加到删除队列中。
[0056]第一管理线程将过期键添加到删除队列中后,即完成了对当前处理的过期键的删除操作,即可返回删除成功的响应结果。此时,即可响应下一个过期键的删除响应。
[0057]步骤204:调用第二管理线程按照过期键在删除队列中的排列顺序,依次删除各过期键。
[0058]其中,第二管理线程可以为一个,也可以是多个。当第二管理线程为单线程时,则通过单一线程访问删除对列,按照过期键在删除队列中的排序依次确定过期键从数据库中将确定的过期键删除。当第二管理线程为多线程时,则通过多个线程并行访问删除队列,每个线程从删除队列中分别确定一个过期键,然后从数据库中将确定的过期键删除。
[0059]第二管理线程设置成多个管理线程并行的方式,相较于仅设置单一的第二管理线程能够提升从数据库中删除键的速率。
[0060]一种优选的在调用第二管理线程删除过期键的方式可以为,依据过期键的多个成员的排列顺序依次删除多个成员。
[0061]例如:过期键为A,其包含的成员分别为1、2、3和4,四个成员在键中从前之后的排序依次为1、3、4和2。第二管理线程在从数据库中删除过期键A时,则先删除成员I,再删除成员3,然后再删除成员4,最后删除成员2。
[0062]通过本发明实施例提供的数据库管理方法,通过第一管理线程在前台对过期键进行管理,通过第二管理线程在后台从数据库中对过期键进行删除来并行执行过期键的删除操作,能够提升对过期键进行删除操作的响应速度。具体地,由第一管理线程检查过期键然后将检查到的过期键添加到删除队列中,此时,第一管理线程即完成了对该过期键的删除操作返回删除成功的响应结果,继续响应下一个过期键的删除操作。相较于现有的需要从数据库中一一删除键包含的各成员才响应下一个过期键的删除操作的方法,不仅能够缩短当前处理的过期键的响应成功时间,还可以缩短对下一个过期键进行删除操作的响应时间。第二管理线程则可在后台完成具体的删除队列中的过期键的删除,第二管理线程删除过期键所花费的时间并不会影响过期键删除的响应速度。
[0063]实施例三
[0064]参照图3,示出了本发明实施例三的一种数据库管理装置的结构框图。
[0065]本发明实施例的数据库管理装置包括:第一调用模块301,用于调用第一管理线程检查存储具有过期时间的键的键列表;添加模块302,用于若检查到所述键列表中存在过期键,将所述过期键添加至删除队列中;以及第二调用模块303,用于调用第二管理线程按照过期键在所述删除队列中的排列顺序,依次删除各过期键。
[0066]通过本发明实施例提供的数据库管理装置,通过第一管理线程在前台对过期键进行管理,通过第二管理线程在后台从数据库中对过期键进行删除来并行执行过期键的删除操作,能够提升对过期键进行删除操作的响应速度。具体地,由第一管理线程检查过期键然后将检查到的过期键添加到删除队列中,此时,第一管理线程即完成了对该过期键的删除操作返回删除成功的响应结果,继续响应下一个过期键的删除操作。相较于现有的需要从数据库中一一删除键包含的各成员才响应下一个过期键的删除操作的方法,不仅能够缩短当前处理的过期键的响应成功时间,还可以缩短对下一个过期键进行删除操作的响应时间。第二管理线程则可在后台完成具体的删除队列中的过期键的删除,第二管理线程删除过期键所花费的时间并不会影响过期键删除的响应速度。
[0067]实施例四
[0068]参照图4,示出了本发明实施例四的一种数据库管理装置的结构框图。
[0069]本发明实施例的数据库管理装置是对实施例三中的数据库管理装置的进一步优化,优化后的数据库管理装置包括:第一调用模块401,用于调用第一管理线程检查存储具有过期时间的键的键列表;添加模块402,用于若检查到所述键列表中存在过期键,将所述过期键添加至删除队列中;以及第二调用模块403,用于调用第二管理线程按照过期键在所述删除队列中的排列顺序,依次删除各过期键。
[0070]优选地,所述装置还包括:建立模块404,用于建立所述键列表,并将具有过期时间的键写入所述键列表。
[0071]优选地,所述第一调用模块401具体用于:按照设定时间间隔调用第一管理线程检查存储具有过期时间的键的键列表。
[0072]优选地,所述键列表中存储有键与对应的过期时间的映射关系。
[0073]优选地,所述第一调用模块401包括:过期时间获取模块4011,用于获取当前时间以及所述键列表中各键对应的过期时间;时间判断模块4012,用于若某一过期时间与所述当前时间不匹配,则判定与所述过期时间对应的键为过期键。
[0074]优选地,所述过期键包括多个成员,以及所述第二调用模块403在调用所述第二管理线程删除所述过期键时,依据所述过期键的多个成员的排列顺序依次删除所述多个成员。
[0075]本发明实施例的数据库管理装置用于实现前述实施例一以及实施例二中相应的数据库管理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0076]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0077]在此提供的数据库管理方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0078]在此处所提供的说明书中,说明了大量具体细节。然