From a36a775db4b22b46c841d4ac109e649c29c890f9 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Wed, 31 May 2023 12:53:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=9A=8F=E6=9C=BA=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BA=91=E4=BB=93=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/product/SpuRepository.php | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/app/common/repositories/store/product/SpuRepository.php b/app/common/repositories/store/product/SpuRepository.php index ed5ec943..181e5643 100644 --- a/app/common/repositories/store/product/SpuRepository.php +++ b/app/common/repositories/store/product/SpuRepository.php @@ -225,19 +225,18 @@ class SpuRepository extends BaseRepository $dataKey = 'CloudMerchantSpu_' . $merId; $takenKey = 'CloudMerchantSpuTakenProductIds_' . $merId . '_page_'. $page; $RedisCacheService = app()->make(RedisCacheService::class); - if (!$RedisCacheService->exists($takenKey)) { - $productIds = $RedisCacheService->sRandMember($dataKey, 10); - } else { - $keys = $RedisCacheService->sDiff($dataKey, $takenKey); - $number = min(count($keys), 10); - if ($number <= 0) { - return []; - } - $indexes = array_rand($keys, $number); - $productIds = []; - foreach ($indexes as $index) { - $productIds[] = $keys[$index]; - } + if ($RedisCacheService->exists($takenKey)) { + return $RedisCacheService->get($dataKey); + } + $keys = $RedisCacheService->sDiff($dataKey, $takenKey); + $number = min(count($keys), 10); + if ($number <= 0) { + return []; + } + $indexes = array_rand($keys, $number); + $productIds = []; + foreach ($indexes as $index) { + $productIds[] = $keys[$index]; } $RedisCacheService->sAdd($takenKey, ...$productIds); $RedisCacheService->expire($takenKey, 60);