package main import ( "context" "fmt" "github.com/go-redis/redis/v9" ) func main() { // basic //basic() // 集合运算 op() } func op() { opt, err := redis.ParseURL("redis://default:yourPassword@192.168.157.135:6379/0?dial_timeout=1") if err != nil { panic(err) } client := redis.NewClient(opt) ctx := context.Background() client.Del(ctx, "A") client.Del(ctx, "A") client.SAdd(ctx, "A", "1", "2") client.SAdd(ctx, "B", "2", "3") // 交集 fmt.Println(client.SInter(ctx, "A", "B").Result()) // 并集 fmt.Println(client.SUnion(ctx, "A", "B").Result()) // 差集 fmt.Println(client.SDiff(ctx, "A", "B").Result()) fmt.Println(client.SDiff(ctx, "B", "A").Result()) // 运算完存储 client.SInterStore(ctx, "dest", "A", "B") fmt.Println(client.SMembers(ctx, "dest").Result()) } func basic() { opt, err := redis.ParseURL("redis://default:yourPassword@192.168.157.135:6379/0?dial_timeout=1") if err != nil { panic(err) } client := redis.NewClient(opt) ctx := context.Background() client.Del(ctx, "ips") // 添加 client.SAdd(ctx, "ips", "129.66.122.123") fmt.Println(client.SMembers(ctx, "ips").Result()) client.SAdd(ctx, "ips", "129.66.122.123", "129.66.122.124", "129.66.122.125") // 获取测试 fmt.Println(client.SMembers(ctx, "ips").Result()) // 随机获取一个 fmt.Println(client.SRandMember(ctx, "ips").Result()) fmt.Println(client.SRandMember(ctx, "ips").Result()) fmt.Println(client.SRandMember(ctx, "ips").Result()) // 多个 fmt.Println(client.SRandMemberN(ctx, "ips", 2).Result()) fmt.Println(client.SRandMemberN(ctx, "ips", 2).Result()) fmt.Println(client.SRandMemberN(ctx, "ips", 2).Result()) // 获取全部 fmt.Println(client.SMembers(ctx, "ips").Result()) // 取出成员,获取成员,并删除 //fmt.Println(client.SPop(ctx, "ips").Result()) //fmt.Println(client.SMembers(ctx, "ips").Result()) // 统计成员信息 fmt.Println(client.SCard(ctx, "ips").Result()) // 删除成员 client.SRem(ctx, "ips", "129.66.122.124") fmt.Println(client.SMembers(ctx, "ips").Result()) fmt.Println(client.SCard(ctx, "ips").Result()) fmt.Println(client.SIsMember(ctx, "ips", "129.66.122.124").Result()) fmt.Println(client.SIsMember(ctx, "ips", "129.66.122.123").Result()) fmt.Println(client.SMIsMember(ctx, "ips", "129.66.122.124", "129.66.122.123").Result()) }