From 18979af6047f099adbda466a555918a84a239023 Mon Sep 17 00:00:00 2001 From: litianxiang Date: Mon, 12 Jan 2026 13:01:26 +0800 Subject: [PATCH] =?UTF-8?q?debug=EF=BC=9A=E6=8E=A8=E8=8D=90=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=94=E5=9B=9Eredis=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/api_recommendation.py | 36 ++++++----------------------------- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/app/api/api_recommendation.py b/app/api/api_recommendation.py index 6dcdcc9..24ab52c 100644 --- a/app/api/api_recommendation.py +++ b/app/api/api_recommendation.py @@ -178,47 +178,23 @@ async def recommend( @router.get("/redis/user_pref") async def get_all_user_preferences(): """ - 获取所有以 user_pref 为前缀的 Redis key 信息,按 account_id 分组 + 获取所有以 user_pref 为前缀的 Redis key 信息 """ try: from app.service.utils.redis_utils import Redis from app.service.recommendation_system.config import REDIS_KEY_USER_PREF_PREFIX - import json # 扫描所有匹配 user_pref:* 的 key pattern = f"{REDIS_KEY_USER_PREF_PREFIX}:*" keys = Redis.scan_keys(pattern) - # 按 account_id 分组 + # 直接返回所有 key 和原始 value result = {} for key in keys: - # 解析 key 格式: user_pref:{account_id}:{category} - parts = key.split(':') - if len(parts) >= 3: - account_id = parts[1] - category = parts[2] - - # 读取对应的值 - value = Redis.read(key) - if value: - try: - vector = json.loads(value) - if account_id not in result: - result[account_id] = {} - result[account_id][category] = { - 'key': key, - 'preference_vector': vector, - 'vector_length': len(vector) - } - except json.JSONDecodeError: - # 如果 JSON 解析失败,保存原始值 - if account_id not in result: - result[account_id] = {} - result[account_id][category] = { - 'key': key, - 'raw_value': value, - 'error': 'JSON decode failed' - } + # 读取对应的值 + value = Redis.read(key) + if value: + result[key] = value return result