2013-04-23 81 views
4

如果還沒有在Redis中設置原子集,是否有任何方法可以進行原子集設置?只有在原子集尚未設置的情況下設置

具體來說,我創建了一個像「myapp:user:user_email」這樣的用戶,並且如果已經採用「user_email」,而不是默認替換舊值,Redis會讓我返回一個錯誤。像聲明,而不是替換。

回答

3

SETNX

SET鍵持有字符串值,如果鍵不存在。在這種情況下,它等於SET。當密鑰已保存一個值時,不執行任何操作。 SETNX是「SET NOT N X E ISTS」的縮寫。

您可以檢查返回值。如果它是0,則沒有設置密鑰,暗示它已經存在。

+0

嗨,你回答了這個問題,但想知道是否有類似的解決方案('H')'MSET's? – 2013-04-23 14:54:15

相關問題