原创 redis系列~通用基礎知識

Redis爲什麼這麼快 完全基於內存操作 使⽤單線程,避免了線程切換和競態產生的消耗 基於⾮阻塞的IO多路復⽤機制 C語⾔實現,優化過的數據結構,基於⼏種基礎的數據結構,redis做了⼤量的優化,性能極⾼ IO多路複用機制講解 ,I/O

原创 mysql基礎~基礎知識問答

一 orc系列 1  orc切換模式常用的是主動觸發高可用切換(例行維護),被動高可用切換(mysql負載很高,mysql主庫down掉)  2 orc在以下情況不會發生切換 從庫發生故障,主從複製異常,從庫掛掉,從庫出現延時 主庫han

原创 oracle基礎~RAC常用命令

一 srvctl    層面:oracle_db層面管理工具 -n代表host域名 -o代表數據庫啓動/關閉狀態   命令:   1 管理整體/具體-DB      srvctl status/stop/start/add/remove i

原创 percona系列~pt-osc導致的死鎖

一 現象    數據庫運維平臺執行DDL操作導致了死鎖問題二 死鎖日誌關鍵點   1 事務包含語句 replace into (更新操作)   2 事務等待鎖 lock mode AUTO-INC waiting三 過程執行語句   1

原创 redis基礎系列~緩存應用場景

一 普通緩存  針對普通的k-v進行存儲和讀取,大多數場景都在用,存在緩存穿透的情況 二 分佈式鎖 分佈式鎖的目的保障全局唯一性,會先鎖定不存在的目標keys,保障唯一性的情況下進行下一步操作 三 消息隊列 消息隊列對應的是生產者

原创 canal系列~原理

一 說明 canal本身是一個管道,binlog通過管道進入,然後處理,再從管道出去,binlog是在canal端進行過濾的.所以對於單實例多庫來說是推送全部binlog的 整個canal的解析流程大致分成4步。binlog dump -

原创 drf系列-序列化

一 定義篇目的: 用於獲取需求models序列化的字段,字段必須在modles對應表內進行定義定義方式: #定義class類class (model_name)+Serializer(serializers.ModelSerializer)

原创 proxysql系列~proxysql監控

零 插件啓動     /usr/local/percona/pmm2/exporters/proxysql_exporter -collect.mysql_connection_list -collect.mysql_connection_

原创 mysql系列-常用語句

一 查看空間碎片-庫維度      select table_schema as '數據庫', sum(table_rows) as '記錄數', sum(truncate(data_length/1024/1024/1024, 2

原创 redis基礎系列~單線程與多線程

純內存KV操作 redis的操作都是在內存實現的,衆所周知,在計算機的世界中,CPU的速度是遠大於內存的速度的,同時內存的速度也是遠大於硬盤的速度, 所以非常快.所以內存的大小對於redis至關重要,其次是cpu 整體流程 服務啓動,

原创 redis基礎系列-集羣集成監控模板

{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "datasource"

原创 redis基礎系列~監控模板

{ "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable

原创 go基礎系列~定義新的數據類型

一 新類型定義 類型定義 type a int 定義一個具有int類型屬性的a新類型特點  go語言不允許爲簡單的內置類型添加方法,但是定義一個繼承簡單內置類型的新的類型,可以綁定方法 新的類型定義好算一個新類型,比如上述定義和int比較

原创 go基礎類型-MAP

一 說明 map類型也被成爲字典類型,底層是哈希表 單個hashi值相同的話會形成鏈表,存儲多個值二 快速定位的原因 1 先根據 哈希算法算出hash值得位置 2 具體值如果有多個,就再根據鏈表進行精確定位 三 限制

原创 go結構體~常用函數

一json  包 encoding/json func (this struct_name) MarshalJSON() ([]byte, error) { 處理邏輯 return json.Marshal(i)}