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

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

的操做對象以外,數據庫中的全部鍵,以及執行命令時提供給Redis 的參數,都是用這種類型數據結構

保存的。ide

字符串編碼函數

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

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

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

double 和long double 類型值。blog

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

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

wKioL1L8yHniHrM1AACmeenaYF8525.jpg

編碼的選擇

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

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

字符串命令的實現

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

相關文章
相關標籤/搜索