原创 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實