The invention relates to a method and system for obtaining data, Redis memory queue includes: receiving data acquisition instruction, data acquisition instruction includes Redis memory queue name; according to the data obtained from the instruction memory queue according to the preset data acquisition cycle; when the preset acquisition period can not obtain the data, then enter a dormant state. The present invention in order to ensure the business data Redis in a memory in the queue can be handled within the prescribed time conditions, to reduce the memory queue of air conditioning, will get to the data object data and the need for additional memory queue service data processing in Redis, in the same hardware conditions improve the overall Redis throughput.
【技术实现步骤摘要】
一种Redis内存队列中数据的获取方法及系统
本专利技术涉及Redis数据调度
,特别涉及一种Redis内存队列中数据的获取方法及系统。
技术介绍
Redis是一个基于BSD许可开源的内存数据库,它可用作缓存、消息代理,并支持通过RedisCluster进行自动分区。通过Redis提供的消息代理机制,可以很方便的实现基于内存队列的速率控制。但是当内存队列数量持续增长,各个内存队列吞吐数据的速率不同,各内存队列处于繁忙、空闲状态不一,遍历Redis中的内存队列并从内存队列中获取数据会导致检查Redis内存队列中是否有数据的流量持续增加,导致需要进行业务数据处理的队列数据处理延迟成倍增加。
技术实现思路
本专利技术提供了一种Redis内存队列中数据的获取方法及系统,用以解决对Redis内存队列的空调度的问题,提升了Redis内存队列的整体吞吐能力。本专利技术解决上述技术问题的技术方案如下:一种Redis内存队列中数据的获取方法,包括以下步骤:步骤1、接收数据获取指令,所述数据获取指令包括Redis内存队列名称;步骤2、根据所述数据获取指令,从所述Redis内存队列名称对应的内存队列中按照预设获取周期获取数据;步骤3、当按照所述预设获取周期获取不到数据时,则进入休眠状态。本专利技术的有益效果是:本专利技术是将Redis中的内存队列进行空闲、繁忙标记并对获取数据的时间周期进行设置(即当接收到数据获取指令时,就按照预设获取周期开始连续获取数据,此为内存队列的繁忙状态,当按照预设获取周期获取不到数据时,则自动进入休眠状态,此为空闲标记),在确保Redis中某一内存队 ...
【技术保护点】
一种Redis内存队列中数据的获取方法,其特征在于,包括:步骤1、接收数据获取指令,所述数据获取指令包括Redis内存队列名称;步骤2、根据所述数据获取指令,从所述Redis内存队列名称对应的内存队列中按照预设获取周期获取数据;步骤3、当按照所述预设获取周期获取不到数据时,则进入休眠状态。
【技术特征摘要】
1.一种Redis内存队列中数据的获取方法,其特征在于,包括:步骤1、接收数据获取指令,所述数据获取指令包括Redis内存队列名称;步骤2、根据所述数据获取指令,从所述Redis内存队列名称对应的内存队列中按照预设获取周期获取数据;步骤3、当按照所述预设获取周期获取不到数据时,则进入休眠状态。2.根据权利要求1所述的一种Redis内存队列中数据的获取方法,其特征在于,所述预设获取周期为多个,所述步骤2包括:步骤2.1、根据所述数据获取指令,按照第一预设获取周期连续从所述内存队列中获取数据;步骤2.2、当按照所述第一预设获取周期获取不到数据时,则按照第二预设获取周期获取数据;步骤2.3、当按照所述第二预设获取周期获取到数据时,则执行步骤2.1,否则,执行步骤3,其中,所述第一预设获取周期和所述第二预设获取周期分别为多个所述预设获取周期中不同的预设获取周期;则所述步骤3包括:当按照所述第二预设获取周期获取不到数据时,则进入休眠状态。3.根据权利要求2所述的一种Redis内存队列中数据的获取方法,其特征在于,所述第一预设获取周期的时长短于所述第二预设获取周期的时长。4.根据权利要求2或3所述的一种Redis内存队列中数据的获取方法,其特征在于,所述步骤2.2具体包括:当按照所述第一预设获取周期连续m次获取不到数据时,则按照所述第二预设获取周期获取数据;所述步骤3具体包括:当按照所述第二预设获取周期连续n次获取不到数据时,则进入休眠状态;其中,m和n分别为正整数。5.根据权利要求2或3所述的一种Redis内存队列中数据的获取方法,其特征在于,所述方法还包括:步骤4、当按照所述第二预设获取周期获取数据的过程中,再次接收到所述数据获取指令时,则按照所述第二预设获取周期完成一次数据获取动作后,执行步骤2.1;或者,步骤5、当在休眠状态中,再次接收到所述数据获取指令,则执行步骤2.1。6.一种Redis内存队列中数据的获取系统,其特征在于,包括:指令接收模块,用于接收数据获取指令,所述数据获取指令包...
【专利技术属性】
技术研发人员:姜益民,童浩,谢邵虎,
申请(专利权)人:武汉光谷信息技术股份有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。