123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- // Copyright 2019 github.com. All rights reserved.
- // Use of this source code is governed by github.com.
- package redis
- import "fmt"
- func (p *Redis) SCard(key string) (res int64, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return p.cclient.SCard(key).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SCard(key).Result()
- }
- func (p *Redis) SAdd(key string, members ...interface{}) (res int64, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return p.cclient.SAdd(key, members...).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SAdd(key, members...).Result()
- }
- func (p *Redis) SMembers(key string) (res []string, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return p.cclient.SMembers(key).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SMembers(key).Result()
- }
- func (p *Redis) SIsmember(key string, member interface{}) (res bool, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return p.cclient.SIsMember(key, member).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SIsMember(key, member).Result()
- }
- func (p *Redis) SInter(keys ...string) (res []string, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return nil, fmt.Errorf("cluster unsupport <sinter>.")
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SInter(keys...).Result()
- }
- func (p *Redis) SPop(key string) (res string, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return p.cclient.SPop(key).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SPop(key).Result()
- }
- func (p *Redis) SRem(key string, members ...interface{}) (res int64, err error) {
- // 安全检查
- if p == nil {
- return res, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return res, errRedisCClient
- }
- return p.cclient.SRem(key, members...).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return res, errRedisClient
- }
- return p.client.SRem(key, members...).Result()
- }
- func (p *Redis) Sscan(key string, scursor uint64, match string, count int64) (keys []string, cursor uint64, err error) {
- // 安全检查
- if p == nil {
- return nil, 0, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return nil, 0, errRedisCClient
- }
- return p.cclient.SScan(key, scursor, match, count).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return nil, 0, errRedisClient
- }
- return p.client.SScan(key, scursor, match, count).Result()
- }
- func (p *Redis) Smove(source, destination string, member interface{}) (bool, error) {
- // 安全检查
- if p == nil {
- return false, errRedis
- }
- if p.cluster {
- // 客户端安全检查
- if p.cclient == nil {
- return false, errRedisCClient
- }
- return p.cclient.SMove(source, destination, member).Result()
- }
- // 客户端安全检查
- if p.client == nil {
- return false, errRedisClient
- }
- return p.client.SMove(source, destination, member).Result()
- }
|