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

来源:14-2 分布式锁编写及调试分析

慕哥3504082

2018-07-30

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

写回答

1回答

无尘扫地僧

2018-07-31

因为我们用的是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
1
慕哥3504082
这个看了,只是奇怪为什么要设置为long,明明返回值只能是0或1
2018-08-02
共1条回复

Java企业级电商项目架构 Tomcat集群与Redis分布式

Tomcat集群+Redis分布式+代码重构+源码原理解析

2685 学习 · 947 问题

查看课程