|
@@ -41,7 +41,7 @@ public class RickVideoCacheJob {
|
|
|
@Autowired
|
|
|
private RedisTemplate<String, String> redisTemplate;
|
|
|
|
|
|
- private static final String TEMP = "temp:";
|
|
|
+ private static final String TEMP = ":temp:";
|
|
|
|
|
|
@XxlJob("updateRiskVideoCacheHandler")
|
|
|
public ReturnT<String> updateRiskVideoCacheHandler(String params) {
|
|
@@ -74,8 +74,8 @@ public class RickVideoCacheJob {
|
|
|
redisTemplate.delete(RedisKeyConstants.Recommend.WECHAT_RISK_VIDEO_CACHE_KEY);
|
|
|
return ReturnT.SUCCESS;
|
|
|
}
|
|
|
- //需要保证原子性;由于数据量可能较大,不使用lua,采用临时key重命名方式
|
|
|
- String tempKey = TEMP + RedisKeyConstants.Recommend.WECHAT_RISK_VIDEO_CACHE_KEY + System.currentTimeMillis();
|
|
|
+ //需要保证原子性;由于数据量可能较大,不使用lua,采用临时key重命名方式;使用hashtag,保证rename在一个slot
|
|
|
+ String tempKey = RedisKeyConstants.Recommend.WECHAT_RISK_VIDEO_CACHE_KEY + TEMP + System.currentTimeMillis();
|
|
|
redisTemplate.opsForSet().add(tempKey, videoSet.toArray(new String[0]));
|
|
|
redisTemplate.rename(tempKey, RedisKeyConstants.Recommend.WECHAT_RISK_VIDEO_CACHE_KEY);
|
|
|
XxlJobLogger.log("rename tempKey = {} newKey = {} finish", tempKey, RedisKeyConstants.Recommend.WECHAT_RISK_VIDEO_CACHE_KEY);
|