Redis的get
get mykey
如果有mykey回傳對應value,反之回傳null
Redis的set
set mykey 123
成功回傳ok
代碼中我們通常根據邏輯進行優化如果get為null則進行set操作,這樣雖可以執行但是始終是兩個命令,不具備事務的原子性,
Redis的setnx
在 Redis 里,所謂的setnx,是「 set if Not eXists」的縮寫
redis> SETNX mykey 123
(integer) 1
redis> SETNX mykey 321
(integer) 0
redis> GET mykey
123
setIfAbsent()
在java的類別庫中也提供了對應的setIfAbsent()以我的代碼為例:
int code = (int) Math.round(Math.random() * 1000000);
ValueOperations ops = redisTemplate.opsForValue();
boolean b = ops.setIfAbsent(phone, code, 150, TimeUnit.SECONDS);
if (!b) {
return "設定失敗";
}
值得一提setIfAbsent多載了多種方法可以簡單的設定值,也可以如果我代碼為例做一個短信驗證
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/398802.html
標籤:其他
下一篇:如何設計一個能打的秒殺系統
