Redis 數據類型 String
- 介紹
String是redis最基本的類型,而且string類型是二進位安全的。
也就是說String可以包含任何數據。
比如jpg圖片或者序列化的對象。
從內部實現來看其實string可以看作byte數組,最大上限是1G位元組。
下面為string類型的定義。
struct sdshdr {
long len;
long free;
char buf[];
};
buf是個char數組用於存貯實際的字串內容。
其實char和c#中的byte是等價的,都是一個位元組len是buf數組的長度,free是數組中剩餘可用位元組數。
由此可以理解為什麼string類型是二進位安全的了。
因為它本質上就是個byte數組。
當然可以包含任何數據了。
另外string類型可以被部分命令按int處理.比如incr等命令,下面詳細介紹。
還有redis的其他類型像list,set,sorted set ,hash它們包含的元素與都只能是string類型。
- 指令對應說明
指令 說明
APPEND 拼接字串
BITCOUNT 計算字串中的二進位值被設成1的個數
BITOP 字串中的二進位值的位元操作
DECR 遞減值一
DECRBY 遞減指定的值
GET 取得指定鍵值的內容
GETBIT 取得指定鍵值的二進位內容
GETRANGE 取得指定鍵值的資料特定位置的內容
GETSET 設定指定鍵值的內容,並返回舊值
INCR 遞增值一
INCRBY 遞增指定的值
INCRBYFLOAT 遞增指定的浮點數值
MGET 一次取回多組指定的key value
MSET 一次設定多組key value
MSETNX 一次設定多組key value,並且所有設定的key都不存在才成功
PSETEX 設定key value,並指定過期時間,單位是毫秒
SET 設定key value
配合ex參數設定過期時間,單位是秒
配合px參數設定過期時間,單位是毫秒
配合nx參數只有key不存在時才成功
配合xx參數只有key已存在時才成功
SETBIT 設定指定鍵值的二進位資料
SETEX 設定key value,並指定過期時間,單位是秒
SETNX 設定key value,並只有在key不存在時才成功
SETRANGE 更改特定位置的資料內容
STRLEN 取得指定鍵值的內容長度
String是redis最基本的類型,而且string類型是二進位安全的。
也就是說String可以包含任何數據。
比如jpg圖片或者序列化的對象。
從內部實現來看其實string可以看作byte數組,最大上限是1G位元組。
下面為string類型的定義。
struct sdshdr { long len; long free; char buf[]; };
buf是個char數組用於存貯實際的字串內容。
其實char和c#中的byte是等價的,都是一個位元組len是buf數組的長度,free是數組中剩餘可用位元組數。
由此可以理解為什麼string類型是二進位安全的了。
因為它本質上就是個byte數組。
當然可以包含任何數據了。
另外string類型可以被部分命令按int處理.比如incr等命令,下面詳細介紹。
還有redis的其他類型像list,set,sorted set ,hash它們包含的元素與都只能是string類型。
指令 | 說明 |
APPEND | 拼接字串 |
BITCOUNT | 計算字串中的二進位值被設成1的個數 |
BITOP | 字串中的二進位值的位元操作 |
DECR | 遞減值一 |
DECRBY | 遞減指定的值 |
GET | 取得指定鍵值的內容 |
GETBIT | 取得指定鍵值的二進位內容 |
GETRANGE | 取得指定鍵值的資料特定位置的內容 |
GETSET | 設定指定鍵值的內容,並返回舊值 |
INCR | 遞增值一 |
INCRBY | 遞增指定的值 |
INCRBYFLOAT | 遞增指定的浮點數值 |
MGET | 一次取回多組指定的key value |
MSET | 一次設定多組key value |
MSETNX | 一次設定多組key value,並且所有設定的key都不存在才成功 |
PSETEX | 設定key value,並指定過期時間,單位是毫秒 |
SET | 設定key value 配合ex參數設定過期時間,單位是秒 配合px參數設定過期時間,單位是毫秒 配合nx參數只有key不存在時才成功 配合xx參數只有key已存在時才成功 |
SETBIT | 設定指定鍵值的二進位資料 |
SETEX | 設定key value,並指定過期時間,單位是秒 |
SETNX | 設定key value,並只有在key不存在時才成功 |
SETRANGE | 更改特定位置的資料內容 |
STRLEN | 取得指定鍵值的內容長度 |