parent
0cb8d5cd5e
commit
a203ac5387
3 changed files with 3 additions and 91 deletions
@ -1,59 +0,0 @@ |
|||||||
package xredis |
|
||||||
|
|
||||||
//
|
|
||||||
//import (
|
|
||||||
// "context"
|
|
||||||
// "encoding/json"
|
|
||||||
// "fmt"
|
|
||||||
// "github.com/go-redis/redis/v8"
|
|
||||||
// "github.com/pkg/errors"
|
|
||||||
// "time"
|
|
||||||
//)
|
|
||||||
//
|
|
||||||
//var redisClient *redis.Client
|
|
||||||
//
|
|
||||||
//func Init(host, password string, db int) error {
|
|
||||||
// redisClient = redis.NewClient(&redis.Options{
|
|
||||||
// Network: "tcp",
|
|
||||||
// Addr: host,
|
|
||||||
// Password: password,
|
|
||||||
// DB: db,
|
|
||||||
// })
|
|
||||||
// return redisClient.Ping(context.Background()).Err()
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//func Client() *redis.Client {
|
|
||||||
// return redisClient
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//func GetData[T any](ctx context.Context, key string, fn func() (T, error), dur time.Duration) (T, error) {
|
|
||||||
// var result T
|
|
||||||
// res := redisClient.Get(ctx, key).Val()
|
|
||||||
// if res != "" {
|
|
||||||
// err := json.Unmarshal([]byte(res), &result)
|
|
||||||
// if err == nil {
|
|
||||||
// return result, nil
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// r, err := fn()
|
|
||||||
// if err != nil {
|
|
||||||
// return result, err
|
|
||||||
// }
|
|
||||||
// if b, err := json.Marshal(r); err == nil {
|
|
||||||
// redisClient.Set(ctx, key, string(b), dur)
|
|
||||||
// }
|
|
||||||
// return r, nil
|
|
||||||
//}
|
|
||||||
//func Lock[T any](ctx context.Context, key string, fn func() (T, error)) (T, error) {
|
|
||||||
// var res T
|
|
||||||
// lockKey := fmt.Sprintf("lock:%s", key)
|
|
||||||
// ok, err := redisClient.SetNX(ctx, lockKey, 1, time.Second*20).Result()
|
|
||||||
// if err != nil {
|
|
||||||
// return res, errors.Wrap(err, "")
|
|
||||||
// }
|
|
||||||
// if !ok {
|
|
||||||
// return res, errors.Wrap(errors.New(fmt.Sprintf("lock %s exists", lockKey)), "")
|
|
||||||
// }
|
|
||||||
// defer redisClient.Del(ctx, lockKey)
|
|
||||||
// return fn()
|
|
||||||
//}
|
|
@ -1,28 +0,0 @@ |
|||||||
package xredis |
|
||||||
|
|
||||||
import ( |
|
||||||
"context" |
|
||||||
"fmt" |
|
||||||
"testing" |
|
||||||
"time" |
|
||||||
) |
|
||||||
|
|
||||||
type Res struct { |
|
||||||
Name string |
|
||||||
} |
|
||||||
|
|
||||||
func TestGetData(t *testing.T) { |
|
||||||
_ = Init("localhost:6379", "", 1) |
|
||||||
res, err := GetData(context.Background(), "userId1212", func() (*Res, error) { |
|
||||||
fmt.Println("from db") |
|
||||||
in := &Res{ |
|
||||||
Name: "ttt", |
|
||||||
} |
|
||||||
return in, nil |
|
||||||
}, time.Second*50) |
|
||||||
|
|
||||||
if err != nil { |
|
||||||
t.Error(err) |
|
||||||
} |
|
||||||
fmt.Printf("%+v\n", res) |
|
||||||
} |
|
Loading…
Reference in new issue