25 lines
602 B
Go
25 lines
602 B
Go
package my_gorm
|
|
|
|
import (
|
|
redisCacher "gitea.youtukeji.com.cn/xiabin/youtu_grpc/pkg/my_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),
|
|
}})
|
|
}
|