youtu_grpc/pkg/gorm/init_db.go

25 lines
596 B
Go
Raw Normal View History

2025-02-07 15:17:01 +08:00
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),
}})
}