Compare commits

...

2 Commits

Author SHA1 Message Date
zhaoyupeng
b6ee2966cf fix: new cache(redis) uri invalid 2025-06-23 17:04:06 +08:00
zhaoyupeng
6d1024f951 update: cache add raw client api 2025-06-23 15:29:23 +08:00
4 changed files with 42 additions and 1 deletions

View File

@ -52,6 +52,9 @@ type Cache interface {
GetDel(ctx context.Context, key string) ([]byte, error) GetDel(ctx context.Context, key string) ([]byte, error)
GetDelScan(ctx context.Context, key string) Scanner GetDelScan(ctx context.Context, key string) Scanner
Close() Close()
// Client return raw client
// !!! dangerous api
Client() any
} }
var ( var (

View File

@ -37,3 +37,37 @@ func TestNew(t *testing.T) {
t.Fatal(err) t.Fatal(err)
}*/ }*/
} }
func TestNoAuth(t *testing.T) {
//if err := Init(WithRedis("10.125.1.28", 6379, "", "")); err != nil {
// t.Fatal(err)
//}
//
//type User struct {
// Name string `json:"name"`
// Age int `json:"age"`
//}
//
//if err := Default.Set(t.Context(), "zyp:haha", &User{
// Name: "cache",
// Age: 18,
//}); err != nil {
// t.Fatal(err)
//}
//
//s := Default.GetDelScan(t.Context(), "zyp:haha")
//u := new(User)
//
//if err := s.Scan(u); err != nil {
// t.Fatal(err)
//}
//
//t.Logf("%#v", *u)
//
//if err := Default.SetEx(t.Context(), "zyp:haha", &User{
// Name: "redis",
// Age: 2,
//}, time.Hour); err != nil {
// t.Fatal(err)
//}
}

View File

@ -22,7 +22,7 @@ func WithCtx(ctx context.Context) OptionFn {
func WithRedis(host string, port int, username, password string) OptionFn { func WithRedis(host string, port int, username, password string) OptionFn {
return func(c *config) { return func(c *config) {
uri := fmt.Sprintf("%s:%d", host, port) uri := fmt.Sprintf("redis://%s:%d", host, port)
if username != "" || password != "" { if username != "" || password != "" {
uri = fmt.Sprintf("redis://%s:%s@%s:%d", username, password, host, port) uri = fmt.Sprintf("redis://%s:%s@%s:%d", username, password, host, port)
} }

View File

@ -18,6 +18,10 @@ type _redis struct {
client *redis.Client client *redis.Client
} }
func (r *_redis) Client() any {
return r.client
}
func newRedis(ctx context.Context, client *redis.Client) *_redis { func newRedis(ctx context.Context, client *redis.Client) *_redis {
r := &_redis{ctx: ctx, client: client} r := &_redis{ctx: ctx, client: client}