原创 Redis 7.0 源碼環境搭建與閱讀技巧

天下武功,無堅不摧,唯快不破!我的名字叫 Redis,全稱是 Remote Dictionary Server。 有人說,組 CP,除了要了解她外,還要給機會讓她瞭解你。 那麼,作爲開發工程師的你,是否願意認真閱讀此心法抓住機會來了解我

原创 redis.conf 7.0 配置和原理全解,生產王者必備

5.5 redis.conf 配置詳解 我是 Redis, 當程序員用指令 ./redis-server /path/to/redis.conf 把我啓動的時候,第一個參數必須是redis.conf 文件的路徑。 這個文件很重要,就好像是你

原创 Redis的數據被刪除,佔用內存咋還那麼大?

通過 CONFIG SET maxmemory 100mb 或者在 redis.conf 配置文件設置 maxmemory 100mb Redis 內存佔用限制。當達到內存最大值值,會觸發內存淘汰策略刪除數據。 除此之外,當 key 達到過

原创 Redis Cluster 原理說的頭頭是道,這些配置不懂就是紙上談兵

Redis Cluster 原理說的頭頭是道,這些配置不懂就是紙上談兵 Redis Cluster 集羣相關配置,使用集羣方式的你必須重視和知曉。彆嘴上原理說的頭頭是道,而集羣有哪些配置?如何配置讓集羣快到飛起,實現真正的高可用卻一頭霧水,

原创 Redis 內存優化神技,小內存保存大數據

大家好,我是「碼哥」,大家可以叫我靚仔。 這次碼哥跟大家分享一些優化神技,當你面試或者工作中你遇到如下問題,那就使出今天學到的絕招,一招定乾坤! 如何用更少的內存保存更多的數據? 我們應該從 Redis 是如何保存數據的原理展開,分析鍵

原创 掘地三尺搞定 Redis 與 MySQL 數據一致性問題

Redis 擁有高性能的數據讀寫功能,被我們廣泛用在緩存場景,一是能提高業務系統的性能,二是爲數據庫抵擋了高併發的流量請求,點我 -> 解密 Redis 爲什麼這麼快的祕密。 把 Redis 作爲緩存組件,需要防止出現以下的一些問題,否則可

原创 Redis 的數據過期了就會馬上刪除麼?

碼哥,當 key 達到過期時間,Redis 就會馬上刪除麼? 先說結論,並不會立馬刪除,Redis 有兩種刪除過期數據的策略: 定期選取部分數據刪除; 惰性刪除; 該命令在 Redis 2.4 版本,過期時間並不是很精確,它可能在零

原创 Redis 爲何使用近似 LRU 算法淘汰數據,而不是真實 LRU?

在《Redis 數據緩存滿了怎麼辦?》我們知道 Redis 緩存滿了之後能通過淘汰策略刪除數據騰出空間給新數據。 淘汰策略如下所示: 設置過期時間的 key volatile-ttl、volatile-random、volatile-lr

原创 Redis 內存滿了怎麼辦?這樣設置才正確!

上回在《Redis 數據過期了會被立馬刪除麼?》說到如果過期的數據太多,定時刪除無法刪除完全(每次刪除完過期的 key 還是超過 25%),同時這些 key 再也不會被客戶端請求,就無法走惰性刪除,內存被打滿會怎樣? 答案是走內存淘汰機制。

原创 Redis HyperLogLog 是什麼?這些場景使用它,讓我槍出如龍,一笑破蒼穹

在移動互聯網的業務場景中,數據量很大,我們需要保存這樣的信息:一個 key 關聯了一個數據集合,同時對這個數據集合做統計。 比如: 統計一個 APP 的日活、月活數; 統計一個頁面的每天被多少個不同賬戶訪問量(Unique Visitor

原创 Redis 緩存擊穿(失效)、緩存穿透、緩存雪崩怎麼解決?

原始數據存儲在 DB 中(如 MySQL、Hbase 等),但 DB 的讀寫性能低、延遲高。 比如 MySQL 在 4 核 8G 上的 TPS = 5000,QPS = 10000 左右,讀寫平均耗時 10~100 ms。 用 Redis

原创 別再用 Redis List 實現消息隊列了,Stream 專爲隊列而生

上回說到使用 Redis 的 List 實現消息隊列有很多侷限性,比如: 沒有良好的 ACK 機制; 沒有 ConsumerGroup 消費組概念; 消息堆積。 List 是線性結構,想要查詢指定數據需要遍歷整個列表; Stream 是

原创 Redis 忽然變慢了如何排查並解決?

Redis 通常是我們業務系統中一個重要的組件,比如:緩存、賬號登錄信息、排行榜等。 一旦 Redis 請求延遲增加,可能就會導致業務系統“雪崩”。 我在單身紅娘婚戀類型互聯網公司工作,在雙十一推出下單就送女朋友的活動。 誰曾想,凌晨 12

原创 爲什麼你辛苦肝的博客沒人看?搭框架、排版、畫圖技巧這些你真的懂麼?

2022-01 月,我的公衆號關注人數 20000+。 雖然是個很小的數據,但對我而言已經是一個階段性的里程碑。今天跟大家來聊下公衆號寫作給我帶來的五味雜陳。 個人拙見,不喜勿噴。 如何下手寫一篇文章? 寫公衆號掙了多少錢? 文章排版有什

原创 Redis 竟然能用 List 實現消息隊列

分佈式系統中必備的一箇中間件就是消息隊列,通過消息隊列我們能對服務間進行異步解耦、流量消峯、實現最終一致性。 目前市面上已經有 RabbitMQ、RochetMQ、ActiveMQ、Kafka等,有人會問:“Redis 適合做消息隊列麼?”