package redis import ( "fmt" "log" "github.com/gomodule/redigo/redis" "git.ofmax.li/iserv/internal/image" ) const V1FilePathFmt = "filepath:up/%s" // ImageRepo deps. for storage type ImageRepo struct { db *redis.Pool } // NewRedisImageRepo func NewRedisImageRepo(conn *redis.Pool) *ImageRepo { return &ImageRepo{ conn, } } func (r *ImageRepo) AddNewFile(filename string, meta *image.PostMeta, timeout int) error { conn := r.db.Get() defer conn.Close() key := fmt.Sprintf(V1FilePathFmt, filename) _, err := conn.Do("HMSET", redis.Args{}.Add(key).AddFlat(meta)...) if err != nil { log.Fatal(err) } return err }