| | |
| | | timer.schedule(new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | System.err.println("定时任务启动"); |
| | | Jedis resource = jedisPool.getResource(); |
| | | resource.setex(finalKey, time, value); |
| | | resource.close(); |
| | |
| | | |
| | | /** |
| | | * 获取redis锁 |
| | | * @return |
| | | */ |
| | | public boolean lock(){ |
| | | boolean b = lock(5); |
| | | if(!b){ |
| | | int num1 = 1; |
| | | while (num1 <= 10){ |
| | | try { |
| | | Thread.sleep(3000);//等待3秒 |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | b = lock(5); |
| | | if(b){ |
| | | return true; |
| | | }else{ |
| | | num1++; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | return b; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取redis锁 |
| | | * @param time |
| | | * @return |
| | | */ |
| | |
| | | return lock("redis", uuid, time); |
| | | } |
| | | |
| | | /** |
| | | * 获取redis锁 |
| | | * @param key |
| | | * @param time |
| | | * @return |
| | | */ |
| | | public boolean lock(String key, int time){ |
| | | String uuid = UUID.randomUUID().toString(); |
| | | return lock(key, uuid, time); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * redis释放锁 |