change check-and-set to atomic sadd for redis DuplicateRemover #368
parent
d6cd92b1a8
commit
d87c73b472
|
@ -48,11 +48,7 @@ public class RedisScheduler extends DuplicateRemovedScheduler implements Monitor
|
||||||
public boolean isDuplicate(Request request, Task task) {
|
public boolean isDuplicate(Request request, Task task) {
|
||||||
Jedis jedis = pool.getResource();
|
Jedis jedis = pool.getResource();
|
||||||
try {
|
try {
|
||||||
boolean isDuplicate = jedis.sismember(getSetKey(task), request.getUrl());
|
return jedis.sadd(getSetKey(task), request.getUrl()) > 0;
|
||||||
if (!isDuplicate) {
|
|
||||||
jedis.sadd(getSetKey(task), request.getUrl());
|
|
||||||
}
|
|
||||||
return isDuplicate;
|
|
||||||
} finally {
|
} finally {
|
||||||
pool.returnResource(jedis);
|
pool.returnResource(jedis);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue