原创 MongoDB-從入門到放棄之(事務,Change Stream, Practise, Shard, monitoring,Index)

writeConcern w: 決定一個寫操作落在多少個節點上纔算成功 0:發起寫操作,不關心是否成功 1~集羣最大節點數: 寫操作需要被複制到多個節點纔算成功 majority: 寫操作需要被複制到大多數節點上纔算成功,動態變

原创 MongoDB-從入門到放棄之入門

重新定義OLTP數據庫 On-Line Transaction Processing聯機事務處理過程(OLTP) 什麼是MongoDB 一個以Json爲數據模型的文檔數據庫。 爲什麼叫文檔數據庫? 文檔來自於”JS

原创 分佈式概念掃盲(Byzantine generals problem/CAP/TPC/TCC)

The Byzantine Generals Problem 問題描述 參考維基百科:拜占庭將軍問題 投票 Situation1 A:1,B:1,C:0 A收到的指令1和0的比例爲:2:1 B收到的指令1和0的比例爲:2:1 C

原创 JAVA SPI機制解析(JDK11)

SPI 全稱爲 (Service Provider Interface) ,是JDK內置的一種服務提供發現機制。可以在運行時動態的添加實現。 在jdk中 java.sql.Driver就是使用了SPI機制。 不同的數據庫服務商提供

原创 The Byzantine Generals Problem

問題描述 參考維基百科:拜占庭將軍問題 投票 Situation1 A:1,B:1,C:0 A收到的指令1和0的比例爲:2:1 B收到的指令1和0的比例爲:2:1 C收到的指令1和0的比例爲:2:1 投票結果執行1指令 Situ

原创 Mysql 必備知識(持續更新...)

唯一索引和普通索引的選擇 ## create table create table t1( `id` bigint(20) primary key, `no` bigint(10) ); ## query1 select id f

原创 JVM概覽

GC是什麼? 清理jvm運行時數據區域-堆中的無用對象. 清理的是哪部分內存? jdk1.7: 方法區,堆空間 1.8 : 堆空間,元空間. 爲什麼需要清理? 內存有限. 怎麼清理? 判斷對象是否需要被清理 引用計數法 無

原创 Spring全家桶視屏教程

百度網盤地址 內容截圖: 關注微信公衆號: 公衆號內回覆: 全家桶 即可獲取網盤密碼. 點贊 收藏 分享 文章舉報 leejiliang 發佈了56 篇原創文章 ·

原创 CompletableFuture組合式異步編程

CompletableFuture 在Java8之前,1.5之後,我們的異步編程使用率較高的對象 Future,那爲啥在8中又出現了這個東西?引用Java8實戰中的一段描述: 將兩個異步計算合併爲一個——這兩個異步計算之間相互獨

原创 redis-持久化

作用 RDB AOF RDB/AOF選擇 作用 將內存中的數據保存到物理硬盤上,防止數據丟失。支持恢復。持久化方式:快照(mysqlDump,rdb)、寫日誌(mysql binlog,hbase hlog, aof) R

原创 redis-api

Redis API的使用和理解 通用命令 keys 查看所有的key, 可以使用通配符 */[a-b], 一般不在生產環境中使用. 由於單線程特性, 該命令會造成阻塞 代替: 熱備從節點(在備機上使用)/scan O(n)的

原创 redis-緩存設計和優化

緩存的收益與成本 收益 加速讀寫 降低後端負載 成本 數據不一致 代碼維護成本更高:多了一層緩存邏輯 運維成本:Redis cluster 使用場景 降低後端負載: 對高消耗的運算結果進行緩存 加速請求響應 I/0 大量

原创 redis-cient-sentinel

客戶端實現高可用 獲取所有sentinel的節點 找到可用節點 獲取master地址 驗證是否爲master節點 如果master發生變化,sentinel發佈消息,客戶端訂閱。 JedlisSentinelPool sent

原创 redis-feature

速度快 內存存儲 持久化 持久化到硬盤,防止異常丟失數據 數據結構豐富 位圖: BitMaps HyperLogLog: 超小內存唯一值計數 GEO: 地裏信息定位 多語言的客戶端 只關注java 發佈訂閱,lua

原创 redis-開發運維常見問題

fork 操作 同步操作 與內存量息息相關:內存越大,耗時越長 info:latest_fork_usec 上一次fork操作的耗時微妙數 改善fork 優先使用物理機或者高效支持fork操作的虛擬機化技術 控制redis實