奇妙计划多级缓存,为数据库减负
发布时间:2018-08-21 08:06:33 所属栏目:编程 来源:DBAplus社群
导读:技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战 作者先容 王梓晨,物流研发部架构师,GIS技能部认真人,2012年插手京东,多年一线团队大促备战履历,认真物流研发一些部分的架构事变,专注于低耽误体系计划与海量数据处理赏罚。今朝负
即先辈先出,裁减最早进来的缓存数据,一个尺度的行列。 以行列为根基数据布局,从队首进入新数据,从队尾裁减。 LRU(Least RecentlyUsed) 即最近起码行使,裁减最近不行使的缓存数据。假如数据最近被会见过,则不裁减。 和FIFO差异的是,必要对链表做根基模子,读写的时刻伟大度是O(1),写入新数据进入头部,链表满了数据从尾部裁减; 最近时刻被会见的数据移动到头部,实现算法有许多,如hashmap+双向链表等等; 题目在于如果偶发性某些key被最近频仍会见,而很是态,则数据受到污染。 LFU(Least Frequently used) 即最近行使次数起码的数据被裁减,留意和LRU的区别在于LRU的裁减法则是基于会见时刻。 LFU中的每个数据块都有一个引用计数,数据块凭证引用计数排序,如果刚好具有沟通引用计数的数据块则凭证时刻排序; 由于新插手的数据会见次数为1,以是插入到行列尾部; 行列中的数据被新会见后,引用计数增进,行列从头排序; 当必要裁减数据时,将已经排序的列表最后的数据块删除; (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读