原创 Java-Collection源碼分析(二)——Iterator和ListIterator
一、Iterator接口 Iterator接口是集合的迭代器,代替Java集合框架中的枚舉,允許調用者在迭代期間從底層集合中刪除元素,並具有明確定義的語義。 public interface Iterator<E> { bool
原创 2017總結
今天師兄推送給我了豆瓣上的一篇文章,是一個程序員的年終總結,在這篇文章中能夠感受到作者對未來的迷茫和對生活的壓抑。這難免會讓人想到2017年末的時候一個熱點詞“油膩的中年人”。 雖然還作爲一名在校的研究生,也許正是鬥志昂揚
原创 mysql之InnoDB存儲引擎(1)——InnoDB存儲引擎體系
一、innoDB體系架構 InnoDB存儲引擎體系結構 1、後臺線程: 後臺線程的主要作用是負責刷新內存池中的數據,保證緩衝池中的內存緩存的是最近的數據。此外將已修改的數據文件刷新到磁盤文件,同時保證在數據庫發生異常的
原创 mysql基礎(2)——數據表的基本操作
一、創建數據表 CREATE TABLE <表名> ( 字段名1,數據類型[列級別約束條件] [默認值], 字段名2,數據類型[列級別約束條件] [默認值], ...... [表級別
原创 mysql基礎(1)——框架
1、數據定義語言(DDL) 用於建立、修改、刪除數據庫對象 CREATE:創建表或者其他對象的結構 ALTER:修改表或其他對象的結構 DROP:刪除表或其他對象的結構 2、數據操作語言(DML) 用於改變數據表中的數據 和事務相關,執行
原创 redis(14)——集羣的搭建
集羣搭建:至少需要三個master 第一步:創建以一個文件夾redis-cluster,然後分別在下面創建6個文件夾: (1)mkdir -p /usr/local/redis-cluster (2)mkdir 7001、mkdi
原创 redis(11)——主從複製的原理
在Redis中,用戶可以通過執行SLAVEOF命令或者設置slaveof選項,讓一個服務器去複製(replicate)另一個服務器,我們稱呼被複制的服務器爲主服務器( master ),而對主服務器進行復制的服務器則被稱爲
原创 redis(7)——事件
Redis服務器是一個事件驅動程序,服務器需要處理以下兩類事件: 文件事件(file event):Redis服務器通過套接字與客戶端(或者其他Redis服務器)進行連接,而文件事件就是服務器對套接字操作的抽象。服務器與客戶端(或者其他服
原创 redis(9)——服務器端
一、命令請求的執行過程 1、發送命令請求 2、讀取命令請求 1)讀取套接字中協議格式的命令請求,並將其保存到客戶端狀態的輸人緩衝區裏面。 2)對輸人緩衝區中的命令請求進行分析,提取出命令請求中包含的命令參
原创 redis(12)——哨兵的配置
哨兵實現步驟: 一、在其中一臺從服務器配合sentinel.conf文件 sentinel monitor mymaster 192.168.16.1306379 1 #名稱,主服務器IP,端口,投票選舉次數建議爲1。 sentinel
原创 redis(2)——redis的數據結構
根據書籍《redis設計與實現》總結。 一、簡單動態字符串 在redis數據庫裏面,包含字符串值的鍵值對在底層都是由SDS實現的。 1、SDS數據結構 struct sdshdr { //記錄buf數組中已使用的數量
原创 redis(6)——AOF持久化
與RDB持久化通過保存數據庫中的鍵值對來記錄數據庫狀態不同,AOF持久化是通過保存Redis服務器所執行的寫命令來記錄數據庫狀態的。 一、AOF持久化的實現 AOF持久化功能的實現可以分爲命令追加(appe
原创 redis(10)——主從複製的配置
redis主從複製的配置: clone服務器之後修改slave的IP地址: 修改配置文件:/usr/local/redis/etc/redis.conf 第一步:slaveof <masterip><mastport> 第二步:maste
原创 redis(13)——哨兵原理
Sentinel實例(instance)組成的Sentinel系統(system)可以監視任意多個主服務器,以及這些主服務器屬下的所有從服務器,並在被監視的主服務器進人下線狀態時,自動將下線主服務器屬下的某個從服務器升級爲