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