package redisutils import ( re "github.com/fiskerinc/cloud-services/pkg/redis" "github.com/gomodule/redigo/redis" "github.com/pkg/errors" ) func CheckSet(conn re.Client, id string, keys interface{}) ([]bool, error) { ckeys, ok := keys.([]string) if !ok { return nil, errors.New("keys is not []string") } results := make([]bool, len(ckeys)) batch := re.NewRedisBatchCommands() for _, key := range ckeys { batch.Add("SISMEMBER", id, key) } values, err := conn.ExecuteBatch(batch) if err != nil { return results, err } err = redis.ScanSlice(values.([]interface{}), &results) if err != nil { return results, errors.WithStack(err) } return results, nil }