Long len = redisTemplate.opsForList().size(CacheConstants.CACHE_LOG_LIST);
if (len != null && len > 0) {
long i = len / 1000 + 1;
while (i > 0) {
List pipelined = redisTemplate.executePipelined((RedisCallback<Object>) redisConnection -> {
redisConnection.openPipeline();
for (int i1 = 0; i1 < 1000; i1++) {
redisConnection.rPop(CacheConstants.CACHE_LOG_LIST.getBytes());
}
return null;
});
List<SysLog> sysLogs = new ArrayList<>();
pipelined.forEach(item -> {
Map log = JSONObject.parseObject((String) item, Map.class);
if (null != log) {
SysLog sysLog = new SysLog();
sysLogs.add(sysLog);
}
});
sysLogService.insertList(sysLogs);
logger.info("已插入 " + sysLogs.size());
i--;
}
}
redisTemplate Pipelined 批量执行
最新推荐文章于 2024-04-25 16:56:43 发布