原创 使用Redis的bitmaps統計用戶留存率、活躍用戶

首先我們看一個場景:一個網站,需要統計一週內連續登陸的用戶,以及一個月內登陸過的用戶或者是用戶留存率。 如果用傳統的數據庫如Mysql來實現的話,很難做到。但如果用Redis來做的話,就很簡便。Redis的集合類型和Bitmap類

原创 MySQL中一條SQL是如何執行的?

MySQL簡介 MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,屬於 Oracle 旗下產品。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作爲數據庫

原创 MongoDB:快速入門,掌握這些剛剛好!

雖說現在關係型數據庫還是主流,但是面對某些需求的時候,需要非關係型數據庫來補充它,學習一個主流的NoSQL數據庫還是很有必要的。MongoDB是一個功能豐富的NoSQL數據庫,本文整理了它最常用的部分形成了這篇入門教程,希望對大

原创 高併發下的redis擊穿,你需要了解下布隆過濾器

在高併發讀的情況下緩存是不可少的。關於高併發緩存方面大小可以參考博主這篇文章 好了接下來進入正題: 大家看下上方的這幅圖,用戶可能進行了一次條件錯誤的查詢,這時候 redis 是不存在的,按照常規流程就是去數據庫找了,可是這是一

原创 MySQL 優化必經之路, Explain執行計劃 ?

Explain有什麼用 當Explain 與 SQL語句一起使用時,MySQL 會顯示來自優化器關於SQL執行的信息。也就是說,MySQL解釋了它將如何處理該語句,包括如何連接表以及什麼順序連接表等。 表的加載順序 sql 的查

原创 MySQL開發 日誌文件必備的知識點

MySQL 日誌文件開發必備的知識點 參考來源:juejin.im/post/5b7c0aabf265da438415b9eb 前言 日誌文件記錄了影響MySQL數據庫的各種類型活動,MySQL數據庫中常見的日誌文件有錯誤日誌

原创 來看看如何使用策略模式幹掉討厭的 if else

幹掉if else常用策略模式!其實就是抽取一個抽象類,然後根據類型指定不同的實現類執行方法。你學廢了嗎? 需求 這裏虛擬一個業務需求,讓大家容易理解。假設有一個訂單系統,裏面的一個功能是根據訂單的不同類型作出不同的處理。 訂

原创 講透徹什麼是Linux零拷貝?

本文探討 Linux 中主要的幾種零拷貝技術以及零拷貝技術的適用場景。爲了迅速建立起零拷貝的概念,我們拿一個常用的場景進行引入。在寫一個服務端程序時(Web Server或者文件服務器),文件下載是一個基本功能。 **這時候服務

原创 三大NoSql的主要區別,你在用Redis、Memcache還是MongoDB ?

Redis Redis的優點: 支持多種數據結構,如 string(字符串)、 list(雙向鏈表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基數估算) 支持持久化操作,可以進行ao

原创 詳解 Mysql LEFT JOIN和JOIN查詢區別及原理

一、Join查詢原理 查詢原理:MySQL內部採用了一種叫做 nested loop join(嵌套循環連接)的算法。Nested Loop Join 實際上就是通過驅動表的結果集作爲循環基礎數據,然後一條一條的通過該結果集中的數

原创 Maven國內阿里鏡像源

<mirror> <id>aliyun-public</id> <mirrorOf>*</mirrorOf> <name>aliyun public</name> <url>https://mave

原创 應用緩存的基本概念,香(Redis)

緩存的使用,是一個逐漸演進的過程。 問一下你自己,最直接的使用緩存的原因是什麼? 無它,唯快而已! 追溯一下自己最開始使用緩存的場景,一些數據庫裏存儲的不變的配置信息,服務啓動時,直接加載到本地公共模塊,方便其它功能模塊共享使用。

原创 MySQL IN、Exist關聯查詢時,我們爲什麼建議小表驅動大表?

有的時候我們在操作數據庫時會將兩個或多個數據表關聯起來通過一些條件篩選數據,在關聯表時我們要遵循一些原則,這樣會使我們編寫的SQL 語句在效率上快很多。 一、優化原則 小表驅動大表,即小的數據集驅動大得數據集。在知道什麼是小表驅動

原创 RabbitMQ(九):RabbitMQ 延遲隊列,消息延遲推送

應用場景 目前常見的應用軟件都有消息的延遲推送的影子,應用也極爲廣泛,例如: 淘寶七天自動確認收貨。在我們簽收商品後,物流系統會在七天後延時發送一個消息給支付系統,通知支付系統將款打給商家,這個過程持續七天,就是使用了消息中間件

原创 RabbitMQ(六):Confirm 消息確認機制

生產端 Confirm 消息確認機制 消息的確認,是指生產者投遞消息後,如果 Broker 收到消息,則會給我們生產者一個應答。生產者進行接收應答,用來確定這條消息是否正常的發送到 Broker ,這種方式也是消息的可靠性投遞的核