From 5863ca8e93fdb632ca97ea99c9255464d0b9953f Mon Sep 17 00:00:00 2001 From: tbphp Date: Mon, 7 Jul 2025 23:58:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=87=8D=E5=A4=8D=E5=BC=95=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/keypool/provider.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/internal/keypool/provider.go b/internal/keypool/provider.go index acc5f70..225642a 100644 --- a/internal/keypool/provider.go +++ b/internal/keypool/provider.go @@ -218,21 +218,16 @@ func (p *KeyProvider) LoadKeysFromDB() error { // 3. 分批从数据库加载并使用 Pipeline 写入 Redis allActiveKeyIDs := make(map[uint][]any) batchSize := 1000 + var batchKeys []*models.APIKey - err = p.db.Model(&models.APIKey{}).FindInBatches(&[]*models.APIKey{}, batchSize, func(tx *gorm.DB, batch int) error { - keys := tx.RowsAffected - logrus.Infof("Processing batch %d with %d keys...", batch, keys) + err = p.db.Model(&models.APIKey{}).FindInBatches(&batchKeys, batchSize, func(tx *gorm.DB, batch int) error { + logrus.Infof("Processing batch %d with %d keys...", batch, len(batchKeys)) var pipeline store.Pipeliner if redisStore, ok := p.store.(store.RedisPipeliner); ok { pipeline = redisStore.Pipeline() } - var batchKeys []*models.APIKey - if err := tx.Find(&batchKeys).Error; err != nil { - return err - } - for _, key := range batchKeys { keyHashKey := fmt.Sprintf("key:%d", key.ID) keyDetails := p.apiKeyToMap(key)