Redis原始碼學習筆記(一)

2021-06-20 05:55:01 字數 839 閱讀 2687

最近在用redis,一直沒有時間去了解redis原理以及內部實現,準備花乙個月的閒暇時間去看看redis低版本的原始碼,學習一下redis的原理以及內部實現。

要想看到redis的執行效果,第一步執行./redis-server;第二步重新開啟乙個視窗,執行./redis-cli set mykey somevalue 首先set一條資料道redis中,返回ok;第三步執行./redis-cli get mykey 用get命令獲取你剛才set進去的資料,可以看到redis在客戶端返回somevalue。

伺服器端顯示

17 jan 03:18:23 . accepted 127.0.0.1:50410

17 jan 03:18:23 . client closed connection

17 jan 03:18:24 . db 0: 1 keys (0 volatile) in 4 slots ht.

17 jan 03:20:42 . accepted 127.0.0.1:50414

17 jan 03:20:42 . client closed connection

17 jan 03:20:44 . db 0: 1 keys (0 volatile) in 4 slots ht.

首先就演示這麼多,先從大概念上理解一下redis

redis是乙個開源、支援網路、基於記憶體、鍵值對儲存資料庫,使用ansi c編寫。其開發由vmware主持。

根據月度排行**db-engines.com的資料顯示,redis是最流行的鍵值對儲存資料庫。

我的理解是redis設計的初衷時為了加快速度,把所有資料都放入記憶體中,顯然比放在傳統資料庫中速度快很多

redis原始碼學習筆記

目錄 1 從資料結構開始 圖為原始碼,附帶個人簡單分析 a 動態字串 檔案 sds.h sds.c 前言 s sizeof struct sdshdr 的解釋為buf為柔性陣列,不占用空間,僅僅為偏移量,所以s指標向後退乙個結構體大小為結構體位址所在。分析 這個結構是整個動態字串的基礎,sds為 s...

《Redis原始碼學習筆記》事務

url 原始碼學習筆記 文章列表 url redis中的事務,提供了一種 b 將多個命令打包並且一次執行 b 的方式 當使用者輸入multi命令時,就開啟了客戶端redis multi選項,客戶端從 非事務狀態 切換到 事務狀態 img 之後客戶端執行的所有命令都不會被redis立即執行,而是放到客...

redis原始碼閱讀筆記

在redis中乙個資料庫結構體是這樣的 每個dict是乙個hash表 typedef struct redisdb redisdb dict欄位中存放以key值為鍵,以value指標為值的hash表項dict根據型別的不同分為如下幾種 1 字串 string 操作 set key value get...