首頁  >  文章  >  資料庫  >  redis中setex指令和set指令有什麼差別

redis中setex指令和set指令有什麼差別

王林
王林轉載
2021-02-07 09:28:532349瀏覽

redis中setex指令和set指令有什麼差別

導語:

Redis Setex 指令為指定的 key 設定值及其過期時間。如果 key 已經存在, SETEX 指令將會取代舊的值。

redis Setex 指令基本語法如下:

redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE

SETEX指令Redis字串(String)指令

SETEX key seconds value

將value關聯到key, 並將key的生存時間設為seconds(以秒為單位)。
如果key 已經存在,SETEX將重寫舊值;

這個指令類似兩個指令:

$redis->SET('key', 'value');
$redis->EXPIRE('key','seconds');  # 设置生存时间

不同之處是,SETEX是一個原子性(atomic)運算,關聯值和設定生存時間兩個動作會在同一時間內完成,該命令在Redis用作快取時,非常實用。

傳回值:
設定成功時回傳OK。
當seconds參數不合法時,回傳一個錯誤。

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

echo $redis->TTL('cache_user_id');  # 剩余生存时间 //int(56)

# 情况2:key已经存在,key被覆写
$redis->SET('cd', "timeless"); //bool(true);
$redis->SETEX('cd', 3000,"goodbye my love"); //bool(true);
echo $redis->GET('cd');//"goodbye my love"

相關推薦:redis資料庫教學

#

以上是redis中setex指令和set指令有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除