index.go
943 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package configs
import (
"apigame/common/svdto"
"apigame/util/zjson"
"apigame/util/zredis"
"fmt"
)
// func GetConfigRedis[T svconfig.IDtoData](gameId string) (result *T, has bool) {
// t = new(T)
// var rule = t.GetRule(gameId)
// return
// }
func GetConfigMysql[T svdto.IDtoData](gameId string, t T) (result *T, has bool) {
return
}
func GetConfig[T svdto.IDtoData](gameId string, t T) (has bool) {
has = CacheLoad[T](gameId, t)
if !has {
}
return
}
func CacheSave(gameId string, conf svdto.IDtoData) {
rule := conf.GetRule(gameId)
_ = zredis.SetEx(zredis.GetConn(), rule.CacheKey, zjson.Str(conf), rule.CacheTime)
}
func CacheLoad[T svdto.IDtoData](gameId string, t T) (has bool) {
has = true
rule := t.GetRule(gameId)
text, err := zredis.Get(zredis.GetConn(), rule.CacheKey)
if err != nil {
has = false
return
}
err = zjson.Obj(text, &t)
if err != nil {
fmt.Println(err)
has = false
return
}
return
}