Redis中set、setnx、setex的使用區(qū)別及說(shuō)明
1、SET
SET key value
含義:
- 將字符串值 value 關(guān)聯(lián)到 key 。
- 如果 key 已經(jīng)持有其他值, SET 就覆寫(xiě)舊值,無(wú)視類型。
2、SETEX
SETEX key seconds value
含義:
- 將值 value 關(guān)聯(lián)到 key ,并將 key 的生存時(shí)間設(shè)為 seconds (以秒為單位)。
- 如果 key 已經(jīng)存在, SETEX 命令將覆寫(xiě)舊值。
返回值:
- 設(shè)置成功時(shí)返回 OK 。
- 當(dāng) seconds 參數(shù)不合法時(shí),返回一個(gè)錯(cuò)誤。
3、SETNX
SETNX key value
含義:
- 將 key 的值設(shè)為 value ,當(dāng)且僅當(dāng) key 不存在。
- 若給定的 key 已經(jīng)存在,則 SETNX 不做任何動(dòng)作。
- SETNX 是『SET if Not eXists』(如果不存在,則 SET)的簡(jiǎn)寫(xiě)。
返回值:
- 設(shè)置成功,返回 1 。
- 設(shè)置失敗,返回 0 。
4、GETSET
GETSET key value
含義:
- 將給定 key 的值設(shè)為 value ,并返回 key 的舊值(old value)。
- 當(dāng) key 存在但不是字符串類型時(shí),返回一個(gè)錯(cuò)誤。
返回值:
- 返回給定 key 的舊值。
- 當(dāng) key 沒(méi)有舊值時(shí),也即是, key 不存在時(shí),返回 null 。
備注:
1、expire命令可以設(shè)置超時(shí),讓現(xiàn)有的key獲得超時(shí)時(shí)間
Expire KEY_NAME TIME_IN_SECONDS
2、persist命令可以清除超時(shí),讓key變成一個(gè)永久的key
PERSIST KEY_NAME
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows下注冊(cè)Redis服務(wù)失敗的解決方案
在Windows系統(tǒng)中,有時(shí)候我們需要將Redis作為一個(gè)服務(wù)運(yùn)行,以便于在后臺(tái)長(zhǎng)期運(yùn)行并提供服務(wù),本篇技術(shù)博客文章將為你解答在Windows下注冊(cè)Redis服務(wù)失敗的一些常見(jiàn)問(wèn)題,并提供相應(yīng)的解決方案,需要的朋友可以參考下2024-11-11
Redis緩存過(guò)期的實(shí)現(xiàn)示例
Redis緩存的過(guò)期策略是保證緩存可靠性和性能的關(guān)鍵之一,本文主要介紹了Redis緩存過(guò)期的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
Redis集群下過(guò)期key監(jiān)聽(tīng)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Redis集群下過(guò)期key監(jiān)聽(tīng)的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
基于redis.properties文件的配置及說(shuō)明介紹
今天小編就為大家分享一篇基于redis.properties文件的配置及說(shuō)明介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
高并發(fā)場(chǎng)景分析之redis+lua防重校驗(yàn)
這篇文章主要介紹了高并發(fā)場(chǎng)景分析之redis+lua防重校驗(yàn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07

