请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

setnx的返回值为什么是long而不是Integer

,Integer reply, specifically: 1 if the key was set 0 if the key      *         was not set

正在回答 回答被采纳积分+3

1回答

无尘扫地僧 2018-07-31 16:03:13

因为我们用的是jedis客户端,对返回值进行了封装:看源码

package redis.clients.jedis;

public Long setnx(String key, String value) {
    Jedis j = (Jedis)this.getShard(key);
    return j.setnx(key, value);
}

在redis中设置的确是Integer
redis> SETNX job "programmer"    # job 设置成功
(integer) 1


0 回复 有任何疑惑可以回复我~
  • 提问者 慕哥3504082 #1
    这个看了,只是奇怪为什么要设置为long,明明返回值只能是0或1
    回复 有任何疑惑可以回复我~ 2018-08-02 12:16:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信