redis增加集合操作功能

This commit is contained in:
suguo.yao 2022-03-19 10:52:15 +08:00
parent a490fea952
commit 99c261ca91
2 changed files with 76 additions and 0 deletions

View File

@ -80,6 +80,46 @@ func Get(key string) interface{} {
return reply
}
//集合Set增加元素
func SetAdd(key string, data ...interface{}) error {
conn := pool.Get()
defer conn.Close()
var err error
for _, d := range data {
_, e := conn.Do("SADD", key, d)
if e != nil {
err = e
break
}
}
return err
}
//集合Set删除元素
func SetRem(key string, data ...interface{}) error {
conn := pool.Get()
defer conn.Close()
var err error
for _, d := range data {
_, e := conn.Do("SREM", key, d)
if e != nil {
err = e
break
}
}
return err
}
//集合Set判断是否存在成员member结果.(int64)==1表示存在
func SetIsMember(key string, member interface{}) (interface{}, error) {
conn := pool.Get()
defer conn.Close()
return conn.Do("SISMEMBER", key, member)
}
//设置一个值
func Set(key string, val interface{}, timeout time.Duration) error {
data, err := json.Marshal(val)

36
redis/redis_test.go Normal file
View File

@ -0,0 +1,36 @@
package redis
import (
"fmt"
"testing"
)
func TestRedis(t *testing.T) {
Init(&Config{
Host: "192.168.0.254:6379",
Password: "",
Database: 0,
MaxIdle: 3,
MaxActive: 10,
IdleTimeout: 600,
})
err := SetAdd("aaa", "aaa", "aa1", "aa2", "aa4", "aa3")
if err != nil {
t.Fatal(err)
}
Expire("aaa", 100)
ret, err := SetIsMember("aaa", "aa1")
if err != nil {
t.Fatal(err)
}
fmt.Println(ret, ret.(int64))
err = SetRem("aaa", "aa2", "aa3")
if err != nil {
t.Fatal(err)
}
err = Delete("aaa")
if err != nil {
t.Fatal(err)
}
}