setex方法可以设置时间 为什么不用它做锁呢这样设置进去的时候,就有自带有失效时间

来源:14-3 分布式锁双重防死锁演进

小刘呀

2018-03-28

代码如下
/**
* exTime的单位是秒
*/
public static String setEx(String key,int exTime, String value) {
   Jedis jedis = null;
   String result = null;

   try {
       jedis = RedisPool.getJedis();
       result = jedis.setex(key,exTime,value);
   } catch (Exception e) {
       log.error("setex key:{} value:{} error", key, value, e);
       RedisPool.returnBrokenResource(jedis);
       return result;
   }
   RedisPool.returnResource(jedis);
   return result;
}


写回答

2回答

Geely

2018-03-31

你好,亲爱的同学,setex是这样的,如果这个key存在的话,那会覆盖,并没有setnx所谓判断这个效果。所以没有考虑直接使用setex,如果有的场景是不需要notexist的判断的话,那可以直接使用setex


0
1
小刘呀
非常感谢!
2018-04-01
共1条回复

polo哦

2018-03-29

这个方法如果是针对锁的话可以那样设置,但是如果有其他地方也要用到这个方法,就不可以了哦

1
0

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

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

2685 学习 · 947 问题

查看课程