Redisbook學習筆記(3)數據類型之字符串

REDIS_STRING (字符串)是Redis 使用得最爲廣泛的數據類型,它除了是SET 、GET 等命令

的操作對象之外,數據庫中的所有鍵,以及執行命令時提供給Redis 的參數,都是用這種類型

保存的。

字符串編碼

字符串類型分別使用REDIS_ENCODING_INT 和REDIS_ENCODING_RAW 兩種編碼:

REDIS_ENCODING_INT 使用long 類型來保存long 類型值。

REDIS_ENCODING_RAW 則使用sdshdr 結構來保存sds (也即是char* )、long long 、

double 和long double 類型值。

換句話來說,在Redis 中,只有能表示爲long 類型的值,纔會以整數的形式保存,其他類型

的整數、小數和字符串,都是用sdshdr 結構來保存。

wKioL1L8yHniHrM1AACmeenaYF8525.jpg

編碼的選擇

新創建的字符串默認使用REDIS_ENCODING_RAW 編碼,在將字符串作爲鍵或者值保存進數據庫

時,程序會嘗試將字符串轉爲REDIS_ENCODING_INT 編碼。

字符串命令的實現

Redis 的字符串類型命令,基本上是通過包裝sds 數據結構的操作函數來實現的。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章