String類型是Redis中最基本也最簡單的一種數據類型
首先演示一些常用的命令
一、SET key value 和GET key
SET key value 和 GET key 設置鍵值和獲取值

SET將鍵today的值設為tuesday;GET取出鍵today的值
SET命令執行成功后返回OK;GET返回要取到的值
當一個key已經有值時,使用SET會覆蓋其原有值,並且不受類型限制

today的原有值"tuesday"被"12"覆蓋。Redis里沒有整數類型,即使SET賦值一個整數,也會以字符串形式存儲
當使用GET操作一個不存在的鍵時,返回nil

注意:當使用SET給定一個普通的值時,不需要加雙引號,但當值有空格或其他特殊字符時,需要加上引號,否則會報語法錯誤

二、GETRANGE key start end
作用:獲取存儲在指定key中的字符串的子字符串,字符串的截取范圍由start和end來決定【不同於其他腳本語言,這里的start和end都是閉區間】
同其他腳本一樣,Redis的索引也是從0開始
GETRANGE的使用方法如下:

GETRANGE test 0 3 :從索引0開始由左至右取到索引為3的字符
GETRANGE test 0 -1 : -1代表從右至左的第一個字符,也就是字符串的末位字符,那么這條命令就是取到字符串的全部
三、GETSET key value
作用:設置指定key的值,並返回key舊的值

當指定key之前並不存在時,使用GETSET會為key創建一個值,並且返回nil;當key存在時,會為其指定一個新值,並且將原有值返回
四、GETBIT key value
作用:對key所存儲的字符串值,獲取指定偏移量上的位
GETBIT對於不存在的key或者不存在的offset,返回0

當offset存在時,返回偏移量上的位

五、MGET key1 key2 ... keyn
作用:返回所有給定key的值,如果某個key不存在,返回nil

key1和key2都存在,返回其值;keynotexist並不存在,獲取其值時返回nil
六、SETBIT key offset
作用:對key所存儲的字符串值,設置或清除指定偏移量上的位

當沒有使用SETBIT設置偏移量的位時,使用GETBIT將返回0
七、SETEX key seconds value
作用:為指定的key設置值和過期時間,如果key已存在,則新值會覆蓋舊值

"TTL key" 可以獲取key的剩余存在時間,如果在執行GET時,key存在則返回其值;不存在,返回nil
八、SETEX key value
作用:當指定的key不存在時,才給其設置指定的值。設置成功返回1,失敗返回0

當key已存在,使用SETNX不會執行成功,返回0
九、SETRANGE key offset value
作用:用指定的字符串覆蓋指定key的字符串值,覆蓋的位置從偏移量offset開始

十、STRLEN key
作用:返回指定key的字符串值的長度,當key不存在時返回0

十一、MSET key1 value1 key2 value2 ... keyn valuen
作用:同時設置一個或多個k-v對

十二、MSETNX key1 value1 key2 value2 ... keyn valuen
作用:同時設置一個或多個k-v對,當且僅當key都不存在時
當key都不存在時,使用MSETNX

當有key存在時,使用MSETNX

MSET操作是原子性操作,由於鍵rmdbs已存在,所以language並沒有被設置,rmdbs的值也未被修改
十三、PSETEX key milliseconds value
作用:同SETEX命令相似,但SETEX的時間是以秒為單位,PSETEX以毫秒為單位

十四、INCR key
作用:將指定key的值遞增加1。如果key不存在,則會被初始化為0;如果key的值的類型不是數字或有特殊字符,返回錯誤信息

INCR執行成功后,返回遞增后的值

由於pageCount之前並不存在,則會被初始化為0,經過INCR操作之后,值遞增為1

如果INCR操作的key的值類型不對,則會報錯
十五、INCRBY key increment
作用:給key所存儲的值加上指定的增量值
當key存在且是數字時,INCRBY會返回增加后的值

當key不存在時,INCRBY增加的值即為key的值

當key存在,但值不是數字值時

十六、INCRBYFLOAT key increment
作用:給key所存儲的值加上浮點增量值
當key和increment都不是指數符號時

當key的值是整數值時

忽略無意義的0

當key和increment都是指數符號時,執行后格式會改為非指數符號

十七、DECR key
作用:同INCR key相反,將key的值減1,同樣key不存在時會被初始化為0
當對存在數值鍵key操作時

當key不存在時,key被創建並初始化為0,再減1

當key存在,但值不是數字值時

十八、DECRBY key decrement
作用:key 所儲存的值減去給定的減量值
當key存在時

當key不存在時

十九、APPEND key value
作用:如果key已經存在並且是字符串值,APPEND將value追加到值的末尾,返回追加后的字符串的長度
當key不存時

當key存在時

