主從復(fù)制 如果 Redis 的讀寫請求量很大,那么單個 Redis 實例很有可能承擔(dān)不了這么大的請求量,如何提高Redis的性能呢?我們可以部署多個副本節(jié)點,業(yè)務(wù)采用讀寫分離...

主從復(fù)制 如果 Redis 的讀寫請求量很大,那么單個 Redis 實例很有可能承擔(dān)不了這么大的請求量,如何提高Redis的性能呢?我們可以部署多個副本節(jié)點,業(yè)務(wù)采用讀寫分離...
Redis持久化機制 Redis 的數(shù)據(jù)全部在內(nèi)存里,如果突然宕機,數(shù)據(jù)就會全部丟失,因此必須有一種機制來保證 Redis 的數(shù)據(jù)不會因為故障而丟失,這種機制就是 Redis...
內(nèi)存淘汰機制 當(dāng) Redis 內(nèi)存超出物理內(nèi)存限制時,內(nèi)存的數(shù)據(jù)會開始和磁盤產(chǎn)生頻繁的交換 (swap)。 交換會讓 Redis 的性能急劇下降,對于訪問量比較頻繁的 Red...
過期策略 如果我們對key設(shè)置了失效時間1分鐘,1分鐘后,Redis 是如何對這個 key 進行刪除的呢? Redis過期策略采用的是惰性刪除+定期刪除策略。 1.惰性刪除 ...
線程模型 大家都知道,Redis是單線程的,為什么采用單線程的Redis也會如此之快呢?接下來我們分析其中緣由。 嚴格來說, Redis Server是多線程的, 只是它...
1.布隆過濾器 我們平時刷今日頭條,今日頭條會給我們推薦新的內(nèi)容,它每次推薦時要去重,去掉那些已經(jīng)看過的內(nèi)容。問題來了,如何實現(xiàn)推送去重呢? 下意識會想到,我們在數(shù)據(jù)庫里記錄...
HyperLogLog 假設(shè)有個千萬日活的統(tǒng)計系統(tǒng),需要統(tǒng)計系統(tǒng)每天的UV。如果是你的話你該怎么設(shè)計? 如果統(tǒng)計 PV 那非常好辦,使用string的incr就搞定了。 但是...
假設(shè)有個百萬簽到系統(tǒng),記錄用戶簽到記錄,簽了記錄1,沒簽記錄 0,如果我們用redis的string存儲,一年就要存1000000*365個key,會占用大量的內(nèi)存。 為了解...
Redis 有 5 種基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),分別為:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。 Redis 所有...
1.八股文帶你吊打面試官之MySQL 我們很多小伙伴平時會看很多面試八股文,但是經(jīng)常遇到一個問題,結(jié)論是知道了,但是面試官繼續(xù)深剖,問我們底層實現(xiàn),這時我們懵圈了,因此我專門...
1.八股文帶你吊打面試官之Redis 我們很多小伙伴平時會看很多面試八股文,但是經(jīng)常遇到一個問題,結(jié)論是知道了,但是面試官繼續(xù)深剖,問我們底層實現(xiàn),這時我們懵圈了,因此我專門...