//[ 批量处理redis中的排班和号源 ]
RedisTemplate<Serializable, Object> redisTemplateByDb = redisUtil
.getRedisTemplateByDb(10);
RedisSerializer keySerializer = redisTemplateByDb.getKeySerializer();
//[ 流水线操作1 ] 注:如果流水线里面放了很多业务(处理很多数据)或者数据量很大的情况下,可能会报堆栈溢出
List<Object> objects = redisTemplateByDb
.executePipelined((RedisCallback<String>) connection -> {
//[ redis流水线执行批量操作提高性能及效率 ]
dates.forEach(item -> {
String key = CacheConstants.SCHEDULE_KRY + item;
schKeys.add(key);
//[ 获取指定key下面的set集合 ]
connection.sMembers(keySerializer.serialize(key));
});
return null;
});
log.info("[ removeRedisSch ] --> 管道批量获取key返回值objects:{}", objects);
redis executePipelined管道实例
最新推荐文章于 2024-03-06 14:51:39 发布