|
@@ -8,14 +8,17 @@ import com.xxl.job.core.handler.annotation.XxlJob;
|
|
|
import com.xxl.job.core.log.XxlJobLogger;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.RandomUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.tuple.Pair;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.data.redis.core.RedisTemplate;
|
|
|
+import org.springframework.dao.DataAccessException;
|
|
|
+import org.springframework.data.redis.core.*;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* @author sunxy
|
|
@@ -40,18 +43,29 @@ public class RickUserCacheJob {
|
|
|
}
|
|
|
List<String> uids = pairs.getLeft();
|
|
|
if (CollectionUtils.isNotEmpty(uids)) {
|
|
|
- redisTemplate.delete(RedisKeyConstants.Recommend.riskUserUid);
|
|
|
- redisTemplate.opsForSet().add(RedisKeyConstants.Recommend.riskUserUid,
|
|
|
- uids.toArray(new String[uids.size()]));
|
|
|
+ redisTemplate.executePipelined(new SessionCallback<String>() {
|
|
|
+ @Override
|
|
|
+ public <K, V> String execute(RedisOperations<K, V> redisOperations) throws DataAccessException {
|
|
|
+ redisOperations.delete((K) RedisKeyConstants.Recommend.riskUserUid);
|
|
|
+ ((SetOperations<String, String>)redisOperations.opsForSet()).add(RedisKeyConstants.Recommend.riskUserUid,
|
|
|
+ uids.toArray(new java.lang.String[uids.size()]));
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
- List<String> mids = pairs.getLeft();
|
|
|
+ List<String> mids = pairs.getRight();
|
|
|
if (CollectionUtils.isNotEmpty(mids)) {
|
|
|
- redisTemplate.delete(RedisKeyConstants.Recommend.riskUserMid);
|
|
|
- redisTemplate.opsForSet().add(RedisKeyConstants.Recommend.riskUserMid,
|
|
|
- mids.toArray(new String[uids.size()]));
|
|
|
+ redisTemplate.executePipelined(new SessionCallback<String>() {
|
|
|
+ @Override
|
|
|
+ public <K, V> String execute(RedisOperations<K, V> redisOperations) throws DataAccessException {
|
|
|
+ redisOperations.delete((K) RedisKeyConstants.Recommend.riskUserMid);
|
|
|
+ ((SetOperations<String, String>)redisOperations.opsForSet()).add(RedisKeyConstants.Recommend.riskUserUid,
|
|
|
+ mids.toArray(new java.lang.String[mids.size()]));
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
XxlJobLogger.log("upldateRiskUserCache finish");
|
|
|
return ReturnT.SUCCESS;
|
|
|
}
|