package cache import "fmt" func (p *RedisCache) SCard(key string) (int64, error) { if p.isCluster { return p.cluster.SCard(key).Result() } return p.client.SCard(key).Result() } func (p *RedisCache) SAdd(key string, members ...interface{}) (int64, error) { if p.isCluster { return p.cluster.SAdd(key, members).Result() } return p.client.SAdd(key, members).Result() } func (p *RedisCache) SMembers(key string) ([]string, error) { if p.isCluster { return p.cluster.SMembers(key).Result() } return p.client.SMembers(key).Result() } func (p *RedisCache) SIsmember(key string, member interface{}) (bool, error) { if p.isCluster { return p.cluster.SIsMember(key, member).Result() } return p.client.SIsMember(key, member).Result() } func (p *RedisCache) SInter(keys ...string) ([]string, error) { if p.isCluster { return nil, fmt.Errorf("cluster unsupport .") } return p.client.SInter(keys...).Result() }