enhacne(setting):增加缓存生命期配置。

This commit is contained in:
徐涛 2022-08-12 14:06:08 +08:00
parent 0692b246c1
commit 447a88ceac
4 changed files with 15 additions and 9 deletions

6
cache/repository.go vendored
View File

@ -1,6 +1,8 @@
package cache
import "time"
import (
"electricity_bill_calc/config"
)
func CacheData[T interface{}](instance T, category string, key ...string) error {
var keys = make([]string, 0)
@ -10,7 +12,7 @@ func CacheData[T interface{}](instance T, category string, key ...string) error
if exists, _ := Exists(cacheKey); exists {
Delete(cacheKey)
}
return Cache(cacheKey, &instance, 5*time.Minute)
return Cache(cacheKey, &instance, config.ServiceSettings.CacheLifeTime)
}
func RetreiveData[T interface{}](category string, key ...string) (*T, error) {

4
cache/session.go vendored
View File

@ -1,10 +1,10 @@
package cache
import (
"electricity_bill_calc/config"
"electricity_bill_calc/model"
"fmt"
"strings"
"time"
)
func SessionKey(keys ...string) string {
@ -18,7 +18,7 @@ func SessionKey(keys ...string) string {
func CacheSession(session *model.Session) error {
key := SessionKey(session.Token)
return Cache(key, session, 2*time.Hour)
return Cache(key, session, config.ServiceSettings.MaxSessionLife)
}
func RetreiveSession(token string) (*model.Session, error) {

View File

@ -31,6 +31,8 @@ type RedisSetting struct {
type ServiceSetting struct {
MaxSessionLife time.Duration
ItemsPageSize uint16
CacheLifeTime time.Duration
}
// 定义全局变量

View File

@ -18,3 +18,5 @@ Redis:
DB: 2
Service:
MaxSessionLife: 2h
ItemsPageSize: 20
CacheLifeTime: 5m