原创 【PHP】PHPUnit單元測試利器:PHP Mock的使用方法

由於環境依賴關係,或者是特殊環境的構造要求,這就可能導致我們在測試環境下做驗證是很困難的。 當我們無法直接使用的真實被依賴模塊時,我們可以用“測試替身”(Test Double)來代替。這個測試替身不需要與真實的被依賴模塊有相同的

原创 負載均衡之IP

首先讓我們來看看下面這張大家都非常熟悉的TCP/IP協議族的分層圖: 關於每層在網絡數據包傳輸過程中所起到的作用不是本文的重點,本文主要是講解如何在網絡層中使用IP來做服務器集羣的負載均衡,爲什麼可以在這一層來做負載均衡。下面在

原创 小結-幾種負載均衡技術的實現

【前言】 負載均衡技術對於中大型網站的性能提高有着很大的優勢,最近在學習《大型網站技術的架構》,其中對於負載均衡技術有一些介紹,將學習的經驗總結一下,分享下。多交流。 【協議層】http重定向協議實現負載均衡 原理:根據用戶的ht

原创 負載均衡之數據鏈路層

在TCP/IP協議中數據鏈路層處於最底層,以幀的形式傳輸和接受數據。在這一層中MAC(Media Access Control)尋址是主要功能。在網絡中MAC又稱之爲MAC地址,用於表示互聯網上每個網卡的標識符,採用十六進制表示,

原创 從PHP 到Golang 的筆記

查看詳情

原创 vbox在共享文件夾設置鏈接報錯Protocol error問題

環境: 基於VBox 的 vagrant (centos版本)開發環境。 問題: Virtualbox 虛擬機(centOS)中,在進行go程序編譯的時候,需要設置一個鏈接符,然後得到了如下的錯誤: ln: failed to c

原创 PHPunit快速入門

一、獲取PHPunit 要獲取 PHPUnit,最簡單的方法是下載 PHPUnit 的 PHP 檔案包 (PHAR),它將 PHPUnit 所需要的所有必要組件(以及某些可選組件)捆綁在單個文件中: 要使用 PHP檔案包(PHAR

原创 詳解redis的bitmap應用

我們可以使用Redis的bitmap(位圖)來存儲數據。 1. 什麼叫做Redis的bitmap 即:操作String數據結構的key所存儲的字符串指定偏移量上的位,返回原位置的值 1.1 優點: 節省空間:通過一個bit位來表示

原创 Redis源碼剖析和註釋(十三)--- 有序集合類型鍵實現(t_zset)

有序集合類型鍵實現 有序集合命令 Redis有序集合命令如下表所示:Redis 有序集合命令詳解 有序集合類型實現 有序集合對象的底層實現類型如下表: Redis 跳躍表源碼剖析和註釋 Redis 字典結構源碼剖析和註釋

原创 Redis源碼剖析和註釋(十一)--- 哈希鍵命令的實現(t_hash)

Redis 哈希鍵命令實現(t_hash) 哈希命令介紹 Redis 所有哈希命令如下表所示:Redis 哈希命令詳解 哈希類型的實現 之前在redis對象系統源碼剖析和註釋中提到,一個哈希類型的對象的編碼有兩種,分別是OBJ

原创 Redis源碼剖析和註釋(二十)--- 網絡連接庫剖析(client的創建/釋放、命令接收/回覆、Redis通信協議分析等)

Redis 網絡連接庫剖析 Redis網絡連接庫介紹 Redis網絡連接庫對應的文件是networking.c。這個文件主要負責 客戶端的創建與釋放 命令接收與命令回覆 Redis通信協議分析 CLIENT 命令的實現 我們接

原创 Redis源碼剖析和註釋(二十三)--- Redis Sentinel實現(哨兵的執行過程和執行的內容)

Redis Sentinel實現(上) Redis Sentinel 介紹和部署 請參考Redis Sentinel 介紹與部署 sentinel.c文件詳細註釋:Redis Sentinel詳細註釋 本文會分爲兩篇分別接受R

原创 Redis 學習筆記(十二)Redis 複製功能詳解

Redis 複製(Replication) 複製介紹 分佈式數據庫爲了獲取更大的存儲容量和更高的併發訪問量,會將原來集中式數據庫中的數據分散存儲到多個通過網絡連接的數據存儲節點上。Redis爲了解決單點數據庫問題,會把數據複製

原创 Redis源碼剖析和註釋(二十一)--- 單機服務器實現

Redis 單機服務器實現 Redis 服務器 Redis服務器負責與客戶端建立網絡連接,處理髮送的命令請求,在數據庫中保存客戶端執行命令所產生的數據,並且通過一系列資源管理措施來維持服務器自身的正常運轉。本次主要剖析serve

原创 Redis源碼剖析和註釋(十九)--- Redis 事件處理實現

Redis 事件處理實現 Redis事件介紹 Redis服務器是一個事件驅動程序。下面先來簡單介紹什麼是事件驅動。 所謂事件驅動,就是當你輸入一條命令並且按下回車,然後消息被組裝成Redis協議的格式發送給Redis服務器,這