李伟乐 2 years ago
parent 0cb8d5cd5e
commit a203ac5387
  1. 59
      pkg/xredis/xredis.go
  2. 28
      pkg/xredis/xredis_test.go
  3. 7
      pkg/xstring/stringx.go

@ -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)
}

@ -233,14 +233,13 @@ func UnSerializeBind(data []byte, post any) error {
reader := bytes.NewReader(data)
b, err := unMarshalByReader(reader)
if err != nil {
return errors.Wrap(err, "")
return err
}
bb, err := json.Marshal(b)
if err != nil {
return errors.Wrap(err, "")
return err
}
err = json.Unmarshal(bb, post)
return errors.Wrap(err, "")
return json.Unmarshal(bb, post)
}
func unMarshalByReader(reader *bytes.Reader) (interface{}, error) {

Loading…
Cancel
Save