Skip to content

Commit db28ad8

Browse files
perf: User cache
1 parent e3ccf5e commit db28ad8

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

backend/apps/system/api/user.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Optional
22
from fastapi import APIRouter, HTTPException, Query
33
from sqlmodel import func, or_, select, delete as sqlmodel_delete
4-
from apps.system.crud.user import get_db_user, single_delete, user_ws_options
4+
from apps.system.crud.user import clean_user_cache, get_db_user, single_delete, user_ws_options
55
from apps.system.models.system_model import UserWsModel
66
from apps.system.models.user import UserModel
77
from apps.system.schemas.auth import CacheName, CacheNamespace
@@ -95,13 +95,14 @@ async def ws_options(session: SessionDep, current_user: CurrentUser, trans: Tran
9595
return await user_ws_options(session, current_user.id, trans)
9696

9797
@router.put("/ws/{oid}")
98-
@clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
98+
# @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
9999
async def ws_change(session: SessionDep, current_user: CurrentUser, oid: int):
100100
ws_list: list[UserWs] = await user_ws_options(session, current_user.id)
101101
if not any(x.id == oid for x in ws_list):
102102
raise HTTPException(f"oid [{oid}] is invalid!")
103103
user_model: UserModel = get_db_user(session = session, user_id = current_user.id)
104104
user_model.oid = oid
105+
await clean_user_cache(user_model.id)
105106
session.add(user_model)
106107
session.commit()
107108

@@ -173,13 +174,14 @@ async def batch_del(session: SessionDep, id_list: list[int]):
173174
await single_delete(session, id)
174175

175176
@router.put("/language")
176-
@clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
177+
#@clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
177178
async def langChange(session: SessionDep, current_user: CurrentUser, language: UserLanguage):
178179
lang = language.language
179180
if lang not in ["zh-CN", "en"]:
180181
return {"message": "Language not supported"}
181182
db_user: UserModel = get_db_user(session=session, user_id=current_user.id)
182183
db_user.language = lang
184+
await clean_user_cache(db_user.id)
183185
session.add(db_user)
184186
session.commit()
185187

@@ -194,11 +196,12 @@ async def pwdReset(session: SessionDep, current_user: CurrentUser, id: int):
194196
session.commit()
195197

196198
@router.put("/pwd")
197-
@clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
199+
#@clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
198200
async def pwdUpdate(session: SessionDep, current_user: CurrentUser, editor: PwdEditor):
199201
db_user: UserModel = get_db_user(session=session, user_id=current_user.id)
200202
if not verify_md5pwd(editor.pwd, db_user.password):
201203
raise HTTPException("pwd error")
202204
db_user.password = md5pwd(editor.new_pwd)
205+
await clean_user_cache(db_user.id)
203206
session.add(db_user)
204207
session.commit()

0 commit comments

Comments
 (0)