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 結構來儲存。
<a href="http://s3.51cto.com/wyfs02/M02/12/33/wKioL1L8yHniHrM1AACmeenaYF8525.jpg" target="_blank"></a>
編碼的選擇
新建立的字元串預設使用REDIS_ENCODING_RAW 編碼,在将字元串作為鍵或者值儲存進資料庫
時,程式會嘗試将字元串轉為REDIS_ENCODING_INT 編碼。
字元串指令的實作
Redis 的字元串類型指令,基本上是通過包裝sds 資料結構的操作函數來實作的。
本文轉自shayang8851CTO部落格,原文連結:http://blog.51cto.com/janephp/1358987,如需轉載請自行聯系原作者