一、概述
完整的說,應(yīng)該是Binary-safe string,二進(jìn)制安全字符串。從官網(wǎng)內(nèi)容我們可以看到,String類型是最簡單的一種數(shù)據(jù)類型,和Memcached的類型一致,一個(gè)key對應(yīng)一個(gè)value。
String類型是Redis最基本的數(shù)據(jù)類型,一個(gè)Redis中字符串value最多可以存512M,但是我們不應(yīng)該把內(nèi)存當(dāng)磁盤來用。
今天我們一起來看一下針對String類型,我們工作中常用的一些命令。
二、set/get/del/append/strlen
set : 設(shè)置指定 key 的值,如果key已存在,則進(jìn)行修改。
get : 獲取指定 key 的值。
del :?刪除對應(yīng)的key。
append : 如果 key 已經(jīng)存在并且是一個(gè)字符串, APPEND 命令將 value 追加到 key 原來的值的末尾,如果key不存在,則直接設(shè)置這個(gè)key的值為append的第二個(gè)參數(shù)的值。
strlen : 獲取值的長度。
三、incr/decr/incrby/decrby
需要注意的是這幾個(gè)命令一定得是數(shù)字才能進(jìn)行加減。
incr :?將 key 中儲存的數(shù)字值增一。
decr :?將 key 中儲存的數(shù)字值減一。
incrby : 將 key 所儲存的值加上給定的增量值(increment) 。
decrby :key 所儲存的值減去給定的減量值(decrement)。
四、setex/setnx
setex :?將值 value 關(guān)聯(lián)到 key ,并將 key 的過期時(shí)間設(shè)為 seconds (以秒為單位)。如果此key過期的話,我們使用ttl查看此key,會返回-2。
setnx :?只有在 key 不存在時(shí)設(shè)置 key 的值。在寫代碼的過程中,如果需求是先判斷key不存在才插入的話,我們使用senx可以節(jié)省判斷的步驟。
五、mset/mget/msetnx
mset :?同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對。
mget :?獲取所有(一個(gè)或多個(gè))給定 key 的值。
msetnx :?同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對,當(dāng)且僅當(dāng)所有給定 key 都不存在。如果有一個(gè)key存在,則不會設(shè)置任何值。
六、getset
incr :?將給定 key 的值設(shè)為 value ,并返回 key 的舊值(old value)。
七、總結(jié)
以上給大家列舉了String類型在工作中比較常用的一些命令,有些命令是可以簡化我們的代碼的,如setnx、getset等,我們在進(jìn)行codereview的時(shí)候也可針對這塊內(nèi)容,進(jìn)行檢查。