package gorm import ( redisCacher "gitea.youtukeji.com.cn/xiabin/youtu_grpc/pkg/gorm/redis" "github.com/go-gorm/caches/v4" "github.com/redis/go-redis/v9" "gorm.io/gorm" ) func NewDBWithCache(dataSource gorm.Dialector, config *gorm.Config, redisClient *redis.Client) (db *gorm.DB, err error) { db, err = gorm.Open(dataSource, config) if err != nil { return } err = UseCache(db, redisClient) return } func UseCache(db *gorm.DB, redisClient *redis.Client) (err error) { return db.Use(&caches.Caches{Conf: &caches.Config{ Easer: true, Cacher: redisCacher.New(redisClient), }}) }