原创 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)可以監視任意多個主服務器,以及這些主服務器屬下的所有從服務器,並在被監視的主服務器進人下線狀態時,自動將下線主服務器屬下的某個從服務器升級爲