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
48
49
50
51
52
/*
* @Author: lwnmengjing
* @Date: 2021/6/10 3:39 下午
* @Last Modified by: lwnmengjing
* @Last Modified time: 2021/6/10 3:39 下午
*/
package storage
import (
"log"
"github.com/go-admin-team/go-admin-core/sdk"
"github.com/go-admin-team/go-admin-core/sdk/config"
"github.com/go-admin-team/go-admin-core/sdk/pkg/captcha"
)
// Setup 配置storage组件
func Setup() {
//4. 设置缓存
cacheAdapter, err := config.CacheConfig.Setup()
if err != nil {
log.Fatalf("cache setup error, %s\n", err.Error())
}
sdk.Runtime.SetCacheAdapter(cacheAdapter)
//5. 设置验证码store
captcha.SetStore(captcha.NewCacheStore(cacheAdapter, 600))
//6. 设置队列
if !config.QueueConfig.Empty() {
if q := sdk.Runtime.GetQueueAdapter(); q != nil {
q.Shutdown()
}
queueAdapter, err := config.QueueConfig.Setup()
if err != nil {
log.Fatalf("queue setup error, %s\n", err.Error())
}
sdk.Runtime.SetQueueAdapter(queueAdapter)
defer func() {
go queueAdapter.Run()
}()
}
//7. 设置分布式锁
if !config.LockerConfig.Empty() {
lockerAdapter, err := config.LockerConfig.Setup()
if err != nil {
log.Fatalf("locker setup error, %s\n", err.Error())
}
sdk.Runtime.SetLockerAdapter(lockerAdapter)
}
}