標籤:redis string 資料類型
本文介紹redis的string類型的命令使用方式,string類型是二進位安全的,可以存放任何資料類型,圖片、對象等等都是可以的。下面將羅列與string類型相關的文法操作:
1、如何添加一個string
命令:set 添加一個string對象文法:set [key] [value]範例:set name wangzp 闡述:添加了一個名為name的string對象,值為‘wangzp‘;如果之前已經存在name對象,那麼將覆蓋原來的對象。
2、如何擷取一個string
命令:get 擷取一個string對象的值文法:get [key]範例:get name闡述:擷取name對象的值,返回為‘wangzp‘;如果不存在該對象,那麼返回空(nil)
3、setnx與set的區別
兩者文法形式一致,前者使用時只有當key不存在時,才會執行set操作;後者不管是否已經存在該key,如果存在那麼覆蓋掉。所以在實際使用時,應該根據key的應用場合,來確定使用set還是setnx,如果對key存在保護,那麼建議使用setnx,以便於錯誤的覆蓋了之前的值。
4、大量新增string
命令:mset 一次性添加多個string對象文法:mset [key1 value1] [key2 value2] ... [keyn valuen]範例:mset name wangzp age 23 address shanghai闡述:一次性添加name、age、address三個string對象。
5、批量擷取string
命令:mget 一次性擷取多個string對象值文法:mget [key1] [key2] ... [keyn]範例:mget name age address闡述:一次性擷取name、age、address三個string對象的值
6、mset與msetnx的區別
兩者的文法形式一致,類比於set、setnx的區別,但是需要注意的是當使用msetnx時,只要其中一個string對象 key是存在的,那麼就設定失敗例如:name是存在的msetnx name wangzp age 23執行上述命令,會返回0,表示執行失敗
7、重新設定string
命令:getset 重新設定string對象(如果key存在,那麼返回舊值,設定新值;)文法:getset key value範例1:getset name wangzp // 假設name之前存在值為wangzpold闡述:返回wangzpold,並設定name為wangzp範例2:getset name newwangzp // 假設name之前不存在闡述:返回nil,並設定name為newwangzp綜述:根據範例1、2你會發現,實際上getset相當於執行了get 、 set操作。
8、刪除string
命令:del 刪除string對象文法:del key範例:del name闡述: 刪除name對象
9、string相關輔助命令
除上述基本的增刪改查外的操作,還有一些輔助性質的命令:1、string值的截取、添加操作命令文法: setrange [key] [起始索引位置] [替換的字串] // 返回新字串的長度範例1:setrange name 2 ok // 假設之前name=wangzp闡述:返回6(waokzp);從指定的起始位置開始替換。命令文法:getrange [key] [起始索引位置] [終止索引位置]範例2:getrange name 0 3 // 假設之前name=wangzp闡述:返回wang,起始位置與終止位置是閉區間,包括邊界位置命令文法:append [key] [value]範例3:append name -23 // 假設之前name=wangzp闡述:返回9(返回新字串長度),該文法命令是在string對象末尾添加字串。2、string值的自增、自減操作命令文法:incr [key] // 自增+1範例1:incr age // 假設age=23闡述:返回24,也就是age+1的數值;key對象的value必須是數實值型別。命令文法:incrby [key] [步長] // 指定步長執行自增範例2:incrby age 5 // age=23闡述:返回28,也就是age + 5,如果步長為負數,那麼表示自減操作命令文法:decr [key] // 自減-1範例3:decr age // age=23闡述:返回22,即age-1命令文法:decrby [key] [步長]範例4:decrby age 5 // age=23闡述:返回18,即age-5,如果此時步長為負值,那麼相當於是自增操作3、擷取string對象長度命令文法:strlen [key]
本文出自 “java程式冥” 部落格,請務必保留此出處http://793404905.blog.51cto.com/6179428/1547689
[redis資料結構] 之 string類型