From d06c956fa1c396ab6aa8defaba000f5d47d1adec Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 23 Aug 2023 20:56:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E7=BC=93=E5=AD=98=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/cache/badger_db/badger_db.go | 92 -------------------------------- lib/cache/cache.go | 55 ------------------- lib/wsinfo/process_data.go | 23 -------- 3 files changed, 170 deletions(-) delete mode 100644 lib/cache/badger_db/badger_db.go delete mode 100644 lib/cache/cache.go diff --git a/lib/cache/badger_db/badger_db.go b/lib/cache/badger_db/badger_db.go deleted file mode 100644 index c711f352..00000000 --- a/lib/cache/badger_db/badger_db.go +++ /dev/null @@ -1,92 +0,0 @@ -package badger_db - -import ( - "fmt" - "time" - - "github.com/dgraph-io/badger/v4" - "github.com/pkg/errors" -) - -type Cache struct { - db *badger.DB -} - -func NewCacheDB(db *badger.DB) *Cache { - return &Cache{ - db: db, - } -} - -func (c *Cache) SetNX(key string, value interface{}) error { - err := c.db.Update(func(txn *badger.Txn) error { - _, err := txn.Get([]byte(key)) - if errors.Is(err, badger.ErrKeyNotFound) { - v := []byte(fmt.Sprintf("%v", value)) - return txn.Set([]byte(key), v) - } - return err - }) - return err -} - -func (c *Cache) Set(key string, value interface{}) error { - err := c.db.Update(func(txn *badger.Txn) error { - v := []byte(fmt.Sprintf("%v", value)) - return txn.Set([]byte(key), v) - }) - return err -} - -func (c *Cache) Del(key string) error { - err := c.db.Update(func(txn *badger.Txn) error { - return txn.Delete([]byte(key)) - }) - return err -} - -func (c *Cache) Clean() error { - return c.db.DropAll() -} - -func (c *Cache) Get(key string) ([]byte, error) { - var result []byte - err := c.db.View(func(txn *badger.Txn) error { - item, err := txn.Get([]byte(key)) - if err != nil { - return err - } - err = item.Value(func(val []byte) error { - result = append([]byte{}, val...) - return nil - }) - return err - }) - return result, err -} - -func (c *Cache) SetWithTTL(key string, value interface{}, duration time.Duration) error { - err := c.db.Update(func(txn *badger.Txn) error { - v := []byte(fmt.Sprintf("%v", value)) - e := badger.NewEntry([]byte(key), v).WithTTL(duration) - return txn.SetEntry(e) - }) - return err -} - -func (c *Cache) PrefixScanKey(prefixStr string) ([]string, error) { - var res []string - err := c.db.View(func(txn *badger.Txn) error { - it := txn.NewIterator(badger.DefaultIteratorOptions) - defer it.Close() - prefix := []byte(prefixStr) - for it.Seek(prefix); it.ValidForPrefix(prefix); it.Next() { - item := it.Item() - k := item.Key() - res = append(res, string(k)) - return nil - } - return nil - }) - return res, err -} diff --git a/lib/cache/cache.go b/lib/cache/cache.go deleted file mode 100644 index 005398dd..00000000 --- a/lib/cache/cache.go +++ /dev/null @@ -1,55 +0,0 @@ -package cache - -import ( - "time" - - "ems.agt/lib/cache/badger_db" - "ems.agt/lib/log" - "github.com/dgraph-io/badger/v4" -) - -var CACHE *badger_db.Cache - -func Init() { - options := badger.Options{ - Dir: "tmp/badger", - ValueDir: "tmp/badger", - ValueLogFileSize: 64 << 20, - ValueLogMaxEntries: 10 << 20, - VLogPercentile: 0.1, - - MemTableSize: 32 << 20, - BaseTableSize: 2 << 20, - BaseLevelSize: 10 << 20, - TableSizeMultiplier: 2, - LevelSizeMultiplier: 10, - MaxLevels: 7, - NumGoroutines: 4, - MetricsEnabled: true, - NumCompactors: 2, - NumLevelZeroTables: 5, - NumLevelZeroTablesStall: 15, - NumMemtables: 1, - BloomFalsePositive: 0.01, - BlockSize: 2 * 1024, - SyncWrites: false, - NumVersionsToKeep: 1, - CompactL0OnClose: false, - VerifyValueChecksum: false, - BlockCacheSize: 32 << 20, - IndexCacheSize: 0, - ZSTDCompressionLevel: 1, - EncryptionKey: []byte{}, - EncryptionKeyRotationDuration: 10 * 24 * time.Hour, // Default 10 days. - DetectConflicts: true, - NamespaceOffset: -1, - } - - cache, err := badger.Open(options) - if err != nil { - log.Errorf("failed to badger init cache:", err) - } - - CACHE = badger_db.NewCacheDB(cache) - log.Info("init cache successfully") -} diff --git a/lib/wsinfo/process_data.go b/lib/wsinfo/process_data.go index 5891540a..0a35778c 100644 --- a/lib/wsinfo/process_data.go +++ b/lib/wsinfo/process_data.go @@ -8,7 +8,6 @@ import ( "sync" "time" - "ems.agt/lib/cache" "ems.agt/lib/log" "github.com/shirou/gopsutil/v3/host" "github.com/shirou/gopsutil/v3/net" @@ -115,12 +114,6 @@ func ProcessData(c *Client, inputMsg []byte) { return } switch wsInput.Type { - case "wget": - res, err := getDownloadProcess(wsInput.DownloadProgress) - if err != nil { - return - } - c.Msg <- res case "ps": res, err := getProcessData(wsInput.PsProcessConfig) if err != nil { @@ -150,22 +143,6 @@ type Process struct { Name string `json:"name"` } -func getDownloadProcess(progress DownloadProgress) (res []byte, err error) { - var result []Process - for _, k := range progress.Keys { - value, err := cache.CACHE.Get(k) - if err != nil { - log.Errorf("get cache error,err %s", err.Error()) - return nil, err - } - downloadProcess := &Process{} - _ = json.Unmarshal(value, downloadProcess) - result = append(result, *downloadProcess) - } - res, err = json.Marshal(result) - return -} - const ( b = uint64(1) kb = 1024 * b