原创 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)}