fix cache bugs

This commit is contained in:
Yavolte 2025-06-30 11:11:34 +08:00
parent b0d6e3423d
commit 29d609ce0a
2 changed files with 19 additions and 3 deletions

View File

@ -4,6 +4,8 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"time" "time"
"git.nobla.cn/golang/aeus"
) )
type redisCache struct { type redisCache struct {
@ -57,7 +59,12 @@ func (c *redisCache) String() string {
} }
func NewCache(opts ...Option) *redisCache { func NewCache(opts ...Option) *redisCache {
return &redisCache{ cache := &redisCache{
opts: newOptions(opts...), opts: newOptions(opts...),
} }
app := aeus.FromContext(cache.opts.context)
if app != nil {
cache.opts.prefix = app.Name() + ":" + cache.opts.prefix
}
return cache
} }

View File

@ -1,11 +1,14 @@
package redis package redis
import ( import (
"context"
"github.com/redis/go-redis/v9" "github.com/redis/go-redis/v9"
) )
type ( type (
options struct { options struct {
context context.Context
client *redis.Client client *redis.Client
prefix string prefix string
} }
@ -19,6 +22,12 @@ func WithClient(client *redis.Client) Option {
} }
} }
func WithContext(ctx context.Context) Option {
return func(o *options) {
o.context = ctx
}
}
func WithPrefix(prefix string) Option { func WithPrefix(prefix string) Option {
return func(o *options) { return func(o *options) {
o.prefix = prefix o.prefix = prefix