diff --git a/commafeed-server/src/main/java/com/commafeed/backend/cache/CacheService.java b/commafeed-server/src/main/java/com/commafeed/backend/cache/CacheService.java index f4065a97..dfa574f0 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/cache/CacheService.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/cache/CacheService.java @@ -1,6 +1,7 @@ package com.commafeed.backend.cache; import java.util.List; +import java.util.Set; import org.apache.commons.codec.digest.DigestUtils; @@ -14,7 +15,7 @@ import com.commafeed.frontend.model.UnreadCount; public abstract class CacheService { // feed entries for faster refresh - public abstract List getLastEntries(Feed feed); + public abstract Set getLastEntries(Feed feed); public abstract void setLastEntries(Feed feed, List entries); diff --git a/commafeed-server/src/main/java/com/commafeed/backend/cache/NoopCacheService.java b/commafeed-server/src/main/java/com/commafeed/backend/cache/NoopCacheService.java index 4741f5ec..4b6ed9a0 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/cache/NoopCacheService.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/cache/NoopCacheService.java @@ -2,6 +2,7 @@ package com.commafeed.backend.cache; import java.util.Collections; import java.util.List; +import java.util.Set; import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.FeedSubscription; @@ -12,8 +13,8 @@ import com.commafeed.frontend.model.UnreadCount; public class NoopCacheService extends CacheService { @Override - public List getLastEntries(Feed feed) { - return Collections.emptyList(); + public Set getLastEntries(Feed feed) { + return Collections.emptySet(); } @Override diff --git a/commafeed-server/src/main/java/com/commafeed/backend/cache/RedisCacheService.java b/commafeed-server/src/main/java/com/commafeed/backend/cache/RedisCacheService.java index 52ec76b5..4dc94f36 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/cache/RedisCacheService.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/cache/RedisCacheService.java @@ -1,6 +1,5 @@ package com.commafeed.backend.cache; -import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -29,14 +28,11 @@ public class RedisCacheService extends CacheService { private final JedisPool pool; @Override - public List getLastEntries(Feed feed) { - List list = new ArrayList<>(); + public Set getLastEntries(Feed feed) { try (Jedis jedis = pool.getResource()) { String key = buildRedisEntryKey(feed); - Set members = jedis.smembers(key); - list.addAll(members); + return jedis.smembers(key); } - return list; } @Override diff --git a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java index 5e5a921d..9ee4b5f8 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java @@ -5,6 +5,7 @@ import java.util.Arrays; import java.util.Date; import java.util.Iterator; import java.util.List; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; @@ -121,7 +122,7 @@ public class FeedRefreshUpdater implements Managed { boolean insertedAtLeastOneEntry = false; if (!entries.isEmpty()) { - List lastEntries = cache.getLastEntries(feed); + Set lastEntries = cache.getLastEntries(feed); List currentEntries = new ArrayList<>(); List subscriptions = null;