原创 redis代碼結構之三類型庫-string
redis代碼結構之三類型庫-list 1. 類型庫概述 下面介紹redis核心的內容以及所支持的數據類型及操作。首先看一下相應的數據結構: typedef char *sds; //該文件返回的基本上都是sds,即char *,也是實
原创 Redis SNAPSHOT的實現
Redis SNAPSHOT 上一篇文章我們學習了redis aof的實現.這篇文章我們將學習redis的另一種持久化方式:snapshot(快照)。 同上一篇文章一樣,我們首先介紹相關參數;然後依次介紹它的使用場景。 1. 配置參數 s
原创 使用systemtap獲得內核函數的局部變量
使用systemtap獲得內核局部變量 這兩天在看內核的cgroup源碼,就想着通過某個工具來獲得一些調試信息如bt,參數返回值等,像在調試應用程序一樣使用gdb來獲得這些信息。所以就有了對systemtap的真正實踐。
原创 mysql子查詢(in)的實現
In子查詢的原理 1. in原理 此調研的背景是同樣的select結果爲什麼使用子查詢會比不使用子查詢慢。我們使用的數據庫還是mysql官方的employees。進行的實驗操作爲下面兩個語句: 方法一:explain select
原创 mysql-proxy學習(四)——性能測試
1. 硬件配置 hwconfig Summary: Intel S5500WBV, 2 x Xeon E5620 2.40GHz,23.5GB / 24GB 1067MHz System: Intel
原创 REDIS AOF的實現
Redis AOF 上文我們介紹了Redis的主框架,以及兩種持久化大概原理。本文我們將從源碼角度分析Redis AOF的相關實現。(本文基於的版本爲2.4.2) 1. 相關配置項 首先我們看一下redis.conf裏的關於AOF的配置選
原创 erlang的rabbitmq client
rabbitmq-erlang-client函數,命令: amqp_connection:which is used to open conne
原创 mysql proxy學習(二)——狀態轉移
mysql proxy學習(二)——狀態轉移 上一節我們已經知道了listen fd的回調函數network_mysqld_con_accept,該函數負責accept客戶端的連接network_socket_accept,然後進入與客戶
原创 轉:linux gcc 編譯時頭文件和庫文件搜索路徑
轉自:http://blog.csdn.net/rlj021/archive/2008/12/16/3530939.aspx 一、頭文件 gcc 在編譯時尋找所需要的頭文件 : ※搜尋會從-I開始 ※然後找gcc的環
原创 redis代碼結構之二net,main,event
redis代碼結構之二net,main,event 1. 網絡庫 anet.c、networking.c:這兩個文件主要實現與網絡通信以及與client之間的交互處理。 1.1 anet.c 該文件封裝了基本的網絡socket操作(tc
原创 redis代碼結構之一mem,bio
Redis代碼結構 一mem,bio 1. Redis代碼結構 事件庫 類型庫 網絡庫 持久化 複製 訂閱 事務 main client 其它 ae.c ae_epoll.c ae_kqueue.c ae_select.
原创 mysql proxy學習(一)啓動過程
mysql proxy學習(一)啓動過程 mysql-proxy依賴的庫較多包括:libevent,glib2,lua;所以代碼閱讀起來還是需要一些的相應的一些知識。 1. Libevent主要接口 event_base_new:初始化一
原创 AMQP協議
AMQP協議 AMQP協議是一個異步消息傳遞所使用的應用層協議規範。又可以稱爲消息中間件協議。它是定義一個標準的接收及發送機制。它包括消息的路由
原创 MYSQL Order by的實現
本文使用的mysql版本爲5.1.48 select sql_no_cache * from one where id< 20 order by id;(id no key) #0 my_qsort2 (base_ptr=0x1b2176
原创 mysql proxy學習(三)——體系結構
Mysql proxy體系結構:多線程+libevent+glib2 從前面的內容我們已經確認了accept過程是由主線程完成的,並且它創建了一個con->client的與client連接的event;並且它接着創建一個con->ser