1Panel/backend/init/cache/cache.go

59 lines
1.6 KiB
Go
Raw Permalink Normal View History

2022-08-16 15:30:23 +00:00
package cache
import (
"os"
"time"
"github.com/1Panel-dev/1Panel/backend/global"
"github.com/1Panel-dev/1Panel/backend/init/cache/badger_db"
2023-05-09 07:23:43 +00:00
"github.com/dgraph-io/badger/v4"
2022-08-16 15:30:23 +00:00
)
func Init() {
c := global.CONF.System.Cache
_ = os.RemoveAll(c)
_ = os.Mkdir(c, 0755)
2022-08-25 09:54:52 +00:00
options := badger.Options{
Dir: c,
ValueDir: c,
ValueLogFileSize: 64 << 20,
ValueLogMaxEntries: 10 << 20,
2022-08-25 09:54:52 +00:00
VLogPercentile: 0.1,
MemTableSize: 32 << 20,
2022-08-25 09:54:52 +00:00
BaseTableSize: 2 << 20,
BaseLevelSize: 10 << 20,
TableSizeMultiplier: 2,
LevelSizeMultiplier: 10,
MaxLevels: 7,
NumGoroutines: 4,
2022-08-25 09:54:52 +00:00
MetricsEnabled: true,
NumCompactors: 2,
2022-08-25 09:54:52 +00:00
NumLevelZeroTables: 5,
NumLevelZeroTablesStall: 15,
NumMemtables: 1,
2022-08-25 09:54:52 +00:00
BloomFalsePositive: 0.01,
BlockSize: 2 * 1024,
2022-08-25 09:54:52 +00:00
SyncWrites: false,
NumVersionsToKeep: 1,
CompactL0OnClose: false,
VerifyValueChecksum: false,
BlockCacheSize: 32 << 20,
2022-08-25 09:54:52 +00:00
IndexCacheSize: 0,
ZSTDCompressionLevel: 1,
EncryptionKey: []byte{},
EncryptionKeyRotationDuration: 10 * 24 * time.Hour, // Default 10 days.
DetectConflicts: true,
NamespaceOffset: -1,
}
cache, err := badger.Open(options)
2022-08-16 15:30:23 +00:00
if err != nil {
panic(err)
}
2024-05-30 10:09:15 +00:00
_ = cache.DropAll()
global.CacheDb = cache
2022-08-16 15:30:23 +00:00
global.CACHE = badger_db.NewCacheDB(cache)
2023-03-01 10:17:31 +00:00
global.LOG.Info("init cache successfully")
2022-08-16 15:30:23 +00:00
}