【技术实现步骤摘要】
数据缓存方法、装置、电子设备及存储介质
本申请涉及信息
,尤其涉及一种数据缓存方法、装置、电子设备及存储介质。
技术介绍
缓存(Cache)是数据交换的缓冲区。例如应用程序要读取数据时,会首先从缓存查询数据。若从缓存中查询到数据,则表示已经命中缓存,数据被读取并返回给应用程序。如果在缓存中没有查询到数据,则未命中缓存。应用程序必须做一些额外的工作,例如需要从下层存储设备来读取数据,将数据返回给客户端。传统的缓存算法在缓存未命中的情况下,性能退化比较严重,例如存在缓存的刷新效率低从而导致命中率低的问题。
技术实现思路
本申请实施例提供一种数据缓存方法、装置、电子设备及存储介质,以解决相关技术存在的问题,技术方案如下:第一方面,本申请实施例提供了一种数据缓存方法,包括:将缓存中的待执行刷新操作的逻辑缓存卷插入到刷新任务队列中;将刷新任务队列的队首元素取出,并将队首元素作为当前缓存卷;确定当前缓存卷的状态;在当前缓存卷的状态是已写满状态的情况下,在刷新任务队列中选择当前缓存卷作为执行刷新操作的逻辑缓存卷。在一种实施方式中,获取当前缓存卷的状态之后,上述方法还包括:在所述当前缓存卷的状态是未写满状态的情况下,对当前缓存卷的跳过计数值进行累加操作;在跳过计数值小于预设最大计数值的情况下,将当前缓存卷推入刷新任务队列的队尾;在跳过计数值等于预设最大计数值的情况下,将当前缓存卷推入优先刷新队列,优先刷新队列用于记录待优先执行刷新操作的 ...
【技术保护点】
1.一种数据缓存方法,其特征在于,包括:/n将缓存中的待执行刷新操作的逻辑缓存卷插入到刷新任务队列中;/n将所述刷新任务队列的队首元素取出,并将所述队首元素作为当前缓存卷;/n确定所述当前缓存卷的状态;/n在所述当前缓存卷的状态是已写满状态的情况下,在所述刷新任务队列中选择所述当前缓存卷作为执行刷新操作的逻辑缓存卷。/n
【技术特征摘要】
1.一种数据缓存方法,其特征在于,包括:
将缓存中的待执行刷新操作的逻辑缓存卷插入到刷新任务队列中;
将所述刷新任务队列的队首元素取出,并将所述队首元素作为当前缓存卷;
确定所述当前缓存卷的状态;
在所述当前缓存卷的状态是已写满状态的情况下,在所述刷新任务队列中选择所述当前缓存卷作为执行刷新操作的逻辑缓存卷。
2.根据权利要求1所述的方法,其特征在于,所述获取所述当前缓存卷的状态之后,所述方法还包括:
在所述当前缓存卷的状态是未写满状态的情况下,对所述当前缓存卷的跳过计数值进行累加操作;
在所述跳过计数值小于所述预设最大计数值的情况下,将所述当前缓存卷推入所述刷新任务队列的队尾;
在所述跳过计数值等于所述预设最大计数值的情况下,将所述当前缓存卷推入优先刷新队列,所述优先刷新队列用于记录待优先执行刷新操作的逻辑缓存卷。
3.根据权利要求1所述的方法,其特征在于,将所述刷新任务队列的队首元素取出之后,所述方法还包括:对预先设置的访问计数进行累加操作;
将所述刷新任务队列的队首元素取出之前,所述方法还包括:
在所述访问计数小于等于所述刷新任务队列的长度的情况下,转向执行所述将所述刷新任务队列的队首元素取出的步骤;
在所述访问计数大于所述刷新任务队列的长度的情况下,确定不对所述刷新任务队列中的逻辑缓存卷执行刷新操作。
4.根据权利要求2或3所述的方法,其特征在于,将所述刷新任务队列的队首元素取出之前,所述方法还包括:
在当前挂起的读写任务数小于预设最大挂起任务数的情况下,将刷新所述优先刷新队列中的逻辑缓存卷加入到当前挂起的读写任务中。
5.根据权利要求1-3中任一项所述的方法,其特征在于,将所述刷新任务队列的队首元素取出之前,所述方法还包括:
判断当前挂起的读写任务数是否大于预设最小挂起任务数;
在当前挂起的读写任务数大于预设最小挂起任务数的情况下,转向执行将所述刷新任务队列的队首元素取出的步骤,以在所述刷新任务队列中选择执行刷新操作的逻辑缓存卷;
在当前挂起的读写任务数小于等于预设最小挂起任务数的情况下,利用最近最少使用算法在所述刷新任务队列中选择执行刷新操作的逻辑缓存卷。
6.根据权利要求5所述的方法,其特征在于,在所述刷新任务队列中选择执行刷新操作的逻辑缓存卷,还包括:
获取读写开关指示的状态,所述读写开关指示的状态包括在所述刷新任务队列中当前执行的任务是读任务或写任务,在所述刷新任务队列中所述读任务对应的任务队列为读任务队列,在所述刷新任务队列中所述写任务对应的任务队列为写任务队列;
确定与所述读写开关指示的状态对应的任务队列是否为空队列;
在所述读写开关指示的状态对应的任务队列不是空队列的情况下,选择所述读写开关指示的状态对应的任务队列作为当前的刷新任务队列,在当前的刷新任务队列中选择执行刷新操作的逻辑缓...
【专利技术属性】
技术研发人员:高华龙,
申请(专利权)人:北京云宽志业网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。