following-cache-invalidation-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m20s
All checks were successful
Deploy on push / deploy (push) Successful in 3m20s
This commit is contained in:
@@ -147,6 +147,11 @@ async def follow(
|
|||||||
logger.debug("Инвалидируем кеш статистики авторов")
|
logger.debug("Инвалидируем кеш статистики авторов")
|
||||||
await invalidate_authors_cache(entity_id)
|
await invalidate_authors_cache(entity_id)
|
||||||
|
|
||||||
|
# ✅ КРИТИЧНО: Также инвалидируем кеш полных данных для корректной загрузки при рефреше
|
||||||
|
# Это гарантирует, что после рефреша клиент получит актуальные данные из БД
|
||||||
|
await redis.execute("DEL", f"author:id:{follower_id}")
|
||||||
|
logger.debug(f"Инвалидирован кеш полных данных пользователя: author:id:{follower_id}")
|
||||||
|
|
||||||
# Всегда получаем актуальный список подписок для возврата клиенту
|
# Всегда получаем актуальный список подписок для возврата клиенту
|
||||||
if get_cached_follows_method and isinstance(follower_id, int):
|
if get_cached_follows_method and isinstance(follower_id, int):
|
||||||
logger.debug("Получение актуального списка подписок из кэша")
|
logger.debug("Получение актуального списка подписок из кэша")
|
||||||
@@ -264,6 +269,10 @@ async def unfollow(
|
|||||||
await redis.execute("DEL", cache_key_pattern)
|
await redis.execute("DEL", cache_key_pattern)
|
||||||
logger.debug(f"Инвалидирован кэш подписок: {cache_key_pattern}")
|
logger.debug(f"Инвалидирован кэш подписок: {cache_key_pattern}")
|
||||||
|
|
||||||
|
# ✅ КРИТИЧНО: Также инвалидируем кеш полных данных для корректной загрузки при рефреше
|
||||||
|
await redis.execute("DEL", f"author:id:{follower_id}")
|
||||||
|
logger.debug(f"Инвалидирован кеш полных данных пользователя: author:id:{follower_id}")
|
||||||
|
|
||||||
if get_cached_follows_method and isinstance(follower_id, int):
|
if get_cached_follows_method and isinstance(follower_id, int):
|
||||||
logger.debug("Получение актуального списка подписок из кэша")
|
logger.debug("Получение актуального списка подписок из кэша")
|
||||||
follows = await get_cached_follows_method(follower_id)
|
follows = await get_cached_follows_method(follower_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user