redigo批量lpush/rpush、批量zrem

在使用redigo库时,想批量向redis list中批量push,发现像下面方式传入[]string是不行的,在这里记录一下。

keys := []string{"nn", "mm"}
_, err = con.Do("lpush", queueName, keys)

直接传slice发现结果是整个slice被拼在一起放到一起了:

 后来google了下,发现需要将slice用三个点(...)打散后传入,类似于这种:

args := []interface{}{queueName}
for _, val := range keys {
    args = append(args, val)
}
_, err = con.Do("lpush", args...)

或者一种更简单的方式:

_, err = con.Do("lpush", redis.Args{}.Add(queueName).AddFlat(keys)...)

结果:

同理zrem批量删除redis zset中的值时,也需要使用这种方式:

_, err = con.Do("zrem", redis.Args{}.Add(ZsetName).AddFlat(Keys)...)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值