在實(shí)際應(yīng)用 Redis 過(guò)程中,如果將 Redis 作為數(shù)據(jù)庫(kù)的緩存,經(jīng)常會(huì)遇到這幾個(gè)問(wèn)題:緩存雪崩、緩存擊穿、緩存穿透等。 緩存雪崩 緩存雪崩指的是,大量的應(yīng)用無(wú)法在 Re...
在實(shí)際應(yīng)用 Redis 過(guò)程中,如果將 Redis 作為數(shù)據(jù)庫(kù)的緩存,經(jīng)常會(huì)遇到這幾個(gè)問(wèn)題:緩存雪崩、緩存擊穿、緩存穿透等。 緩存雪崩 緩存雪崩指的是,大量的應(yīng)用無(wú)法在 Re...
之前提到 Redis 有主從庫(kù)集群機(jī)制,以減輕主庫(kù)的請(qǐng)求壓力,實(shí)現(xiàn) Redis 的高可用性。 并且,我們已經(jīng)知道,請(qǐng)求的寫操作只會(huì)在主庫(kù)上執(zhí)行,然后主庫(kù)再同步到各個(gè)從庫(kù)上。 ...
之前提到過(guò),Redis 具有高可靠性,除了數(shù)據(jù)少丟失,這里還有一層含義,就是 服務(wù)盡量少中斷。之前提到的 AOF日志和 RDB快照,都是為了實(shí)現(xiàn)數(shù)據(jù)的持久化。 而本文要探討的...
考慮這樣一個(gè)場(chǎng)景,當(dāng)Redis發(fā)生異常重啟時(shí),Redis 的數(shù)據(jù)都是存在內(nèi)存中的,這時(shí)該怎么找回來(lái)?實(shí)際上,Redis 的持久化主要有兩大機(jī)制實(shí)現(xiàn) —— AOF日志 和 RD...
關(guān)于 Redis 為什么這么快,除了之前提到的,數(shù)據(jù)存儲(chǔ)在內(nèi)存、底層數(shù)據(jù)結(jié)構(gòu)高效以外,還有什么其他原因呢?我們都知道,Redis 是單線程高性能的。但是為什么 Redis 在...
Redis 能以微妙級(jí)別的速度,根據(jù) key 找到 value。Redis 為什么能這么快呢? 當(dāng)然,首先是因?yàn)?Redis 將數(shù)據(jù)都存在了內(nèi)存中,內(nèi)存的讀取速度肯定是比磁盤...
索引是什么? 索引就是為了提高查詢效率,類似于書的目錄的東西。 索引的常見(jiàn)模型 索引的實(shí)現(xiàn)方式有很多種,這里主要說(shuō)明三種:哈希表、有序數(shù)組和搜索樹 哈希表哈希表就是一種 ke...
提到事務(wù)的,首先會(huì)想到事務(wù)的 ACID (原子性、一致性、隔離性、持久性)。原子性:事務(wù)被視為不可分割的最小單位,只會(huì)有成功或失敗兩個(gè)狀態(tài),不會(huì)有中間態(tài)。(通過(guò)InnoDB的...
一條查詢語(yǔ)句的執(zhí)行過(guò)程,一般是經(jīng)過(guò) 連接器、分析器、優(yōu)化器、執(zhí)行器,最后到達(dá)存儲(chǔ)引擎。 那么對(duì)于一條 更新的 MySQL 語(yǔ)句,執(zhí)行流程又是怎樣的呢? 首先可以肯定的是,以上...
當(dāng)輸入一條 MySQL 語(yǔ)句時(shí),這條語(yǔ)句是如何被執(zhí)行的? 需要經(jīng)過(guò) MySQL 哪些部分,才能將執(zhí)行結(jié)果取出? 本文章簡(jiǎn)單記錄下,MySQL 語(yǔ)句的執(zhí)行過(guò)程,并以此了解 My...
由上一篇可以了解到,索引分為主鍵索引(聚簇索引)和 非主鍵索引(二級(jí)索引),那么如何有效地利用這些索引呢? 先考慮這么一個(gè)表結(jié)構(gòu): 可以看到,表 T 中,ID為主鍵索引,k為...
MySQL 為什么要設(shè)計(jì)鎖? 當(dāng)多個(gè)請(qǐng)求并發(fā)時(shí),數(shù)據(jù)庫(kù)需要合理地控制資源的訪問(wèn)規(guī)則,而鎖就是用于實(shí)現(xiàn)這些訪問(wèn)規(guī)則的重要數(shù)據(jù)結(jié)構(gòu)。 根據(jù)加鎖的范圍,MySQL的鎖大致可以分為:...
隨著人們網(wǎng)絡(luò)安全意識(shí)的提高,人們對(duì)信息的安全傳輸越來(lái)越重視。各大公司也逐步將網(wǎng)站升級(jí)成 HTTPS。那么,相較于HTTP,HTTPS是怎么保證信息的安全傳輸?shù)模?此文介紹了 ...
C++ 編譯的程序占用內(nèi)存: 棧區(qū):執(zhí)行函數(shù)時(shí),函數(shù)內(nèi)局部變量的存儲(chǔ)單元在棧上創(chuàng)建,變量的聲明周期結(jié)束后,這些內(nèi)存單元會(huì)自動(dòng)被釋放。棧內(nèi)存分配運(yùn)算內(nèi)置于處理器的指令集,效率高...
一、臨時(shí)對(duì)象的概念 二、臨時(shí)對(duì)象的產(chǎn)生與避免 一、臨時(shí)對(duì)象的概念 臨時(shí)對(duì)象是 在源碼中不可見(jiàn)的,是棧上的、沒(méi)有名字的對(duì)象。與函數(shù)內(nèi)定義的臨時(shí)對(duì)象有根本差別。 臨時(shí)對(duì)象在源碼中...
引用類型 引用:引用就是聲明具名變量,也即是 對(duì)象 或 函數(shù) 的別名。 引用必須被初始化為指代 一個(gè)有效的對(duì)象或函數(shù),T 類型的對(duì)象、T 類型的函數(shù) 或 可隱式轉(zhuǎn)換為 T 類...
一、值類別(左值、純右值、亡值) 二、std::move 一、值類別 表達(dá)式 何謂表達(dá)式?由運(yùn)算符和運(yùn)算對(duì)象構(gòu)成的計(jì)算式。字面量、變量、函數(shù)返回值都是表達(dá)式。表達(dá)式返回的結(jié)果...
一、模板模板參數(shù) 一、模板模板參數(shù) 考慮在類模板中,有成員變量 : vector<T> myt; vector 實(shí)際上是一個(gè)類模板,現(xiàn)在考慮,把類似vector, list ...