企業(yè)logo設(shè)計app搜狗seo怎么做
redis怎么做到雙寫一致性呢?
這個是要分情況的 業(yè)務(wù)要是對一致性要求不是很高的話可以使用延時雙刪,要強一致的話需要雙寫一致性。
Redis數(shù)據(jù)持久化?
redis是有兩種數(shù)據(jù)持久化方式的,一種RDB一種AOF
- rdb是redis數(shù)據(jù)快照,它是把內(nèi)存中所有記錄保存在磁盤中的。當(dāng)redis實例出現(xiàn)故障后從磁盤讀取快照文件進(jìn)行數(shù)據(jù)恢復(fù);
- aof采用的是一種刷盤策略,可以設(shè)置everysec每秒進(jìn)行一次刷盤,記錄操作命令,當(dāng)redis出現(xiàn)故障后,會根據(jù)記錄的命令重新執(zhí)行達(dá)到數(shù)據(jù)恢復(fù)的效果。
數(shù)據(jù)過期策略?
有兩種 惰性刪除和定期刪除
- 惰性刪除:設(shè)置key的過期時間后,不用去管它,等到下次需要這key的時候然后檢查是否過期,過期然后進(jìn)行刪除。(如果下次一直不使用key,那么就會一直存在內(nèi)存中,不會被釋放)
- 定期刪除:每隔一段時間會對一些key進(jìn)行檢查,刪除里邊過期的key。
- 一般是惰性刪除和定期刪除配合使用。
數(shù)據(jù)淘汰策略
當(dāng)redis中內(nèi)存不夠用時,再向redis中添加新的key,那么redis就會按照某一種規(guī)則將內(nèi)存中的數(shù)據(jù)刪除掉,就稱為內(nèi)存淘汰策略。
redis支持8種不同策略來選擇要刪除的key;
- noeviction: 不淘汰任何key,但是內(nèi)存滿時不允許寫入新數(shù)據(jù)(默認(rèn)就是這種策略);
- volatile-ttl:對設(shè)置了過期時間的key,比較key剩余的ttl值,值越小越先被淘汰;
- allkeys-random: 對全體key,隨機進(jìn)行淘汰;
- volatile-random:對設(shè)置了過期時間的key,隨機進(jìn)行淘汰;
- allkeys-lru:對全體key基于LRU算法進(jìn)行淘汰(最少使用時間);
- volatile-lru:對設(shè)置了過期時間的key基于LRU算法進(jìn)行淘汰;
- allkeys-lfu:對全體key基于LFU算法進(jìn)行淘汰(最少使用頻率);
- volatile-lfu:對設(shè)置了過期時間的key基于LFU算法進(jìn)行淘汰;