|
@@ -48,6 +48,8 @@ public class ViewedStrategy implements FilterStrategy {
|
|
|
private Map<String, Integer> viewExpConfig;
|
|
|
@Value("${video.filter.cache.expire.new:600}")
|
|
|
private Long videoFilterCacheNewExpire;
|
|
|
+ @Value("${filter.view.cache.mongo.size:4000}")
|
|
|
+ private Integer filterViewCacheMongoSize;
|
|
|
|
|
|
@Override
|
|
|
public List<Long> filter(FilterParam param) {
|
|
@@ -75,11 +77,11 @@ public class ViewedStrategy implements FilterStrategy {
|
|
|
// criteria.and("create_time").gte();
|
|
|
Query query = new Query();
|
|
|
query.addCriteria(criteria);
|
|
|
- query.limit(10000);
|
|
|
+ query.limit(filterViewCacheMongoSize);
|
|
|
List<VideoView> list = mongoTemplate.find(query, VideoView.class);
|
|
|
//TODO 为什么限制最多10000条?是不是限制近几天更合适?
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
- int limit = 10000;
|
|
|
+ int limit = filterViewCacheMongoSize;
|
|
|
for (int i = list.size() - 1; i >= 0 && limit-- > 0; i--) {
|
|
|
viewedVideoIds.add(String.valueOf(list.get(i).getVideoId()));
|
|
|
}
|
|
@@ -135,11 +137,11 @@ public class ViewedStrategy implements FilterStrategy {
|
|
|
criteria.and("create_time").gte(System.currentTimeMillis() - videoViewedFilterTime * 1000);
|
|
|
Query query = new Query();
|
|
|
query.addCriteria(criteria);
|
|
|
- query.limit(10000);
|
|
|
+ query.limit(filterViewCacheMongoSize);
|
|
|
List<VideoView> list = mongoTemplate.find(query, VideoView.class);
|
|
|
//TODO 为什么限制最多10000条?是不是限制近几天更合适?
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
- int limit = 10000;
|
|
|
+ int limit = filterViewCacheMongoSize;
|
|
|
for (int i = list.size() - 1; i >= 0 && limit-- > 0; i--) {
|
|
|
viewedVideoIds.add(String.valueOf(list.get(i).getVideoId()));
|
|
|
}
|