revamp cache service

This commit is contained in:
Athou
2013-07-25 10:21:11 +02:00
parent bdb30a60c3
commit 73f2871235
13 changed files with 285 additions and 124 deletions

View File

@@ -1,17 +1,18 @@
package com.commafeed.backend.cache;
import java.util.List;
import java.util.Map;
import org.apache.commons.codec.digest.DigestUtils;
import com.commafeed.backend.model.Feed;
import com.commafeed.backend.model.FeedCategory;
import com.commafeed.backend.model.FeedEntry;
import com.commafeed.backend.model.FeedSubscription;
import com.commafeed.backend.model.User;
import com.commafeed.frontend.model.Category;
public abstract class CacheService {
// feed entries for faster refresh
public abstract List<String> getLastEntries(Feed feed);
public abstract void setLastEntries(Feed feed, List<String> entries);
@@ -20,14 +21,25 @@ public abstract class CacheService {
return DigestUtils.sha1Hex(entry.getGuid() + entry.getUrl());
}
public abstract Category getRootCategory(User user);
// user categories
public abstract List<FeedCategory> getUserCategories(User user);
public abstract void setRootCategory(User user, Category category);
public abstract void setUserCategories(User user, List<FeedCategory> categories);
public abstract Map<Long, Long> getUnreadCounts(User user);
public abstract void invalidateUserCategories(User user);
public abstract void setUnreadCounts(User user, Map<Long, Long> map);
// subscriptions
public abstract List<FeedSubscription> getUserSubscriptions(User user);
public abstract void invalidateUserData(User... users);
public abstract void setUserSubscriptions(User user, List<FeedSubscription> subs);
public abstract void invalidateUserSubscriptions(User user);
// unread count
public abstract Long getUnreadCount(FeedSubscription sub);
public abstract void setUnreadCount(FeedSubscription sub, Long count);
public abstract void invalidateUnreadCount(FeedSubscription... subs);
}