溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

redis中setex命令和set命令有哪些區(qū)別

發(fā)布時(shí)間:2021-02-12 10:28:07 來(lái)源:億速云 閱讀:639 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫(kù)

這篇文章主要介紹了redis中setex命令和set命令有哪些區(qū)別,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

導(dǎo)語(yǔ):

Redis Setex 命令為指定的 key 設(shè)置值及其過(guò)期時(shí)間。如果 key 已經(jīng)存在, SETEX 命令將會(huì)替換舊的值。

redis Setex 命令基本語(yǔ)法如下:

redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE

SETEX命令 Redis字符串(String)命令

SETEX key seconds value

將value關(guān)聯(lián)到key, 并將key的生存時(shí)間設(shè)為seconds(以秒為單位)。
如果key 已經(jīng)存在,SETEX將重寫舊值;

這個(gè)命令類似一下兩個(gè)命令:

$redis->SET('key', 'value');
$redis->EXPIRE('key','seconds');  # 設(shè)置生存時(shí)間

不同之處是,SETEX是一個(gè)原子性(atomic)操作,關(guān)聯(lián)值和設(shè)置生存時(shí)間兩個(gè)動(dòng)作會(huì)在同一時(shí)間內(nèi)完成,該命令在Redis用作緩存時(shí),非常實(shí)用。

返回值:
設(shè)置成功時(shí)返回OK。
當(dāng)seconds參數(shù)不合法時(shí),返回一個(gè)錯(cuò)誤。

# 情況1:key不存在
$redis->SETEX('cache_user_id', 60,100001);//bool(true)
echo $redis->GET('cache_user_id');  # 值 //"100001"

echo $redis->TTL('cache_user_id');  # 剩余生存時(shí)間 //int(56)

# 情況2:key已經(jīng)存在,key被覆寫
$redis->SET('cd', "timeless"); //bool(true);
$redis->SETEX('cd', 3000,"goodbye my love"); //bool(true);
echo $redis->GET('cd');//"goodbye my love"

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“redis中setex命令和set命令有哪些區(qū)別”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI