今天往redis set 数据类型 中批量添加值的时候遇到问题

他倒是支持多个值  可我却不能确定我添加多少个值

redisTemplate.opsForSet().add("key","value1","value2","value3");

点进去 redisTemplate的添加方法中看看  可以看到它规定的value值的个数  是可变的

ps:无奖竞猜一下  能看出IDEA的背景图片是谁么?

redis添加list集合 redis list批量添加_redis添加list集合

 一开始我的想法是写个循环每次添加一个

但是这样 太low了  而且效率也不行(大概一秒钟处理1w条)  也容易将redis搞宕机

for (int i = 0; i < 1000000; i++) {
            redisTemplate.opsForSet().add("key",i);
        }

后来查阅过资料后发现一种写法  原理也很简单  因为可变参数都是用数组去接收的   所以我直接传入一个数组就行  亲测好使(添加100w条数据  花费2.5秒)

Set set = new HashSet<>();
        for (int i = 1; i < 1000000; i++) {
            set.add(i);
        }
        redisTemplate.opsForSet().add("key",set.toArray());