43 lines
770 B
Go
43 lines
770 B
Go
package stacker
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
func ConnectToRedis(addr string) redis.Client {
|
|
rdb := redis.NewClient(&redis.Options{
|
|
Addr: addr,
|
|
Password: "",
|
|
DB: 0,
|
|
})
|
|
|
|
return *rdb
|
|
}
|
|
|
|
func SetToRedis(rdb redis.Client, key string, val interface{}) error {
|
|
err := rdb.Set(context.Background(), key, val, 0).Err()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CheckInRedis(rdb redis.Client, key string) (bool, error) {
|
|
_, err := rdb.Get(context.Background(), key).Result()
|
|
if err == redis.Nil {
|
|
return false, nil
|
|
} else if err != nil {
|
|
return false, err
|
|
}
|
|
return true, nil
|
|
}
|
|
|
|
func SaveRedis(rdb redis.Client) error {
|
|
err := rdb.Save(context.Background()).Err()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|