Redis闲谈(1):构建知识图谱
题目:同等性的题目是漫衍式体系中很常见的题目。同等性一样平常分为两种:强同等性和最终同等性,当我们要满意强同等性的时辰,Redis也无法做到美满无瑕,由于数据库缓和存双写,必定会呈现纷歧致的环境,Redis只能担保最终同等性。 办理:我们怎样担保最终同等性呢?
2. 缓存雪崩题目 题目: 我们应该都在影戏里看到过雪崩,开始很安静,然后一刹时就开始崩塌,具有很强的歼灭性。这里也是一样的,我们执行代码的时辰将许多缓存的实效时刻设定成一样,接着这些缓存在统一时刻城市实效,然后城市从头会见数据库更新数据,这样会导致数据库毗连数过多、压力过大而瓦解。 办理:
3. 缓存穿透题目 题目: 缓存穿透是指一些非正常用户(黑客)存心去哀求缓存中不存在的数据,导致全部的哀求都齐集到到数据库上,从而导致数据库毗连非常。 办理:
4. 缓存的并发竞争题目 题目: 缓存并发竞争的题目,首要产生在多线程对某个key举办set的时辰,这时会呈现数据纷歧致的环境。 好比Redis中我们存着一个key为amount的值,它的value是100,两个线程同时都对value加100然后更新,正确的功效应该是变为300。可是两个线程拿到这个值的时辰都是100,最后功效也就是200,这就导致了缓存的并发竞争题目。 办理
Redis的逾期计策 Redis跟着数据的增多,内存占用率会一连变高,我们觉得一些键达到配置的删除时刻就会被删除,可是时刻到了,内存的占用率照旧很高,这是为什么呢? Redis回收的是按期删除和惰性删除的内存裁减机制。 1. 按期删除 按期删除和按时删除是有区此外:
2. 惰性删除 举个简朴的例子:中学的时辰,平常功课太多,基础做不完,先生说下节课要讲这个卷子,你们都做完了吧?着实有许多人没做完,以是必要在下节课之前赶忙补上。 惰性删除也是这个原理,我们的这个值按理说应该没了,可是它还在,当你要获取这个key的时辰,发明这个key应该逾期了,赶忙删了,然后返回一个'没有这个值,已经逾期了!'。 此刻我们有了按期删除 + 惰性删除的逾期计策,就可以安枕无忧了吗?并不是这样的,假如这个key一向不会见,那么它会一向滞留,也是不公道的,这就必要我们的内存裁减机制了。 Redis的内存裁减机制一样平常有6种,如下图所示: 那么我们怎样去设置Redis的内存裁减机制呢? 在Redis.conf中我们可以举办设置
小结 本文初探Redis,或许清算出了Redis的常识图谱,比较之下可以发明Redis居然有这么多的常识点必要进修;接着我们说明白Redis的优弱点,知道了其基于内存的高效的读写速率和富厚的数据范例,也说明白Redis面临数据同等性、缓存穿透、缓存雪崩等题目时该如那里理赏罚;最后我们相识了Redis的逾期计策缓和存裁减机制。 信托各人已经对Redis有了一些相识,下篇文章我们将说明Redis的数据布局、每一种数据范例是怎样实现的、对应的呼吁有哪些。 【本文是51CTO专栏机构宜信技能学院的原创文章,微信公家号“宜信技能学院( id: CE_TECH)”】 戳这里,看该作者更多好文 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |