使用redisTemplate 往set集合中批量添加值(往可变参数中批量添加值)

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

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

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

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

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

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

但是这样 太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());

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值