Fix: missing ttl check in memstore.Get

This commit is contained in:
HFO4 2019-12-21 12:29:58 +08:00
parent 3e49c9f4f6
commit 327765a7be
2 changed files with 3 additions and 4 deletions

View file

@ -163,14 +163,13 @@ func (file *File) UpdatePicInfo(value string) error {
return DB.Model(&file).Update("pic_info", value).Error
}
// UpdatePicInfo 更新文件的图像信息
// UpdateSize 更新文件的大小信息
func (file *File) UpdateSize(value uint64) error {
return DB.Model(&file).Update("size", value).Error
}
/*
实现 FileInfo.FileInfo 接口
TODO 测试
*/
func (file *File) GetName() string {

4
pkg/cache/memo.go vendored
View file

@ -35,7 +35,7 @@ func getValue(item interface{}, ok bool) (interface{}, bool) {
var itemObj itemWithTTL
if itemObj, ok = item.(itemWithTTL); !ok {
return nil, false
return item, true
}
if itemObj.expires > 0 && itemObj.expires < time.Now().Unix() {
@ -70,7 +70,7 @@ func (store *MemoStore) Gets(keys []string, prefix string) (map[string]interface
var notFound = make([]string, 0, len(keys))
for _, key := range keys {
if value, ok := store.Store.Load(prefix + key); ok {
if value, ok := getValue(store.Store.Load(prefix + key)); ok {
res[key] = value
} else {
notFound = append(notFound, key)