当前位置: 首页 > news >正文

AI掘金头条新闻系统 (Toutiao News)-设计缓存策略-缓存新闻分类

1. 获取/写入新闻分类缓存cache/news_cache.py

# 新闻相关的缓存方法:新闻分类的读取和写入 # key - value from typing import List, Dict, Any, Optional from config.cache_conf import get_json_cache, set_cache CATEGORIES_KEY = "news:categories" # 获取新闻分类缓存 async def get_cached_categories(): return await get_json_cache(CATEGORIES_KEY) # 写入新闻分类缓存: 缓存的数据, 过期时间 # 分类、配置 7200;列表: 600; 详情: 1800;验证码:120 -- 数据越稳定,缓存越持久 # 避免所有key同时过期 引起缓存雪崩 async def set_cache_categories(data: List[Dict[str, Any]], expire: int = 7200): return await set_cache(CATEGORIES_KEY, data, expire)

2. 改造crud/news.py

# 获取新闻分类 async def get_categories(db: AsyncSession, skip: int = 0, limit: int = 100): # 先尝试从缓存中获取数据 cached_categories = await get_cached_categories() if cached_categories: return cached_categories stmt = select(Category).offset(skip).limit(limit) result = await db.execute(stmt) categories = result.scalars().all() # ORM # 写入缓存 if categories: categories = jsonable_encoder(categories) await set_cache_categories(categories) # 返回数据 return categories

3. 运行结果

http://www.jsqmd.com/news/1110812/

相关文章:

  • 如何快速部署HS2-HF补丁:Honey Select 2完整汉化与优化终极指南
  • GPT-4 Turbo认知升级:128K上下文与低延迟如何重构工作流
  • 面向.NET开发者的职业成长操作系统
  • Obsidian 手机和电脑怎么同步?电脑主写、手机阅读的推荐方案
  • 混合高阶方法实现磁薛定谔方程渐近规范不变离散化
  • 客服自动化落地:通过个人微信 RPA API 批量处理客户咨询
  • 如何通过IPFS Desktop实现去中心化文件管理的无缝体验
  • 【会议征稿通知 | 哈尔滨理工大学、南京大学主办 | JPCS出版 | EI 、Scopus稳定检索】第三届计算建模与应用数学国际学术会议(CMAM 2026)
  • Ansible自动化部署Docker到Ubuntu 18.04实战指南
  • Anthropic Claude‘归零层’技术解析:语义校验环的架构级移除
  • 最佳work模型sonnet5来了,直接就能用!
  • CentOS 6 上用 Ruby 1.8.7 编写 Nagios 插件实战指南
  • GPT-4的‘2%激活‘真相:MoE稀疏推理原理与工程实践
  • 定量粗Baum–Connes猜想在自由积群上的稳定性研究
  • 如何轻松解锁加密音乐文件:浏览器中的终极音乐格式转换工具
  • 4步搭建个人音乐API服务:网易云音乐接口的终极解决方案
  • Claude语义压缩层蒸发:从可控推理到结果验证的范式迁移
  • 如何在Mac上免费获得完美的桌面歌词体验?LyricsX 2.0深度解析
  • 用Leaflet自研一套地图系统
  • 深度解析ExifToolGUI:图像元数据编辑的终极可视化解决方案
  • 从理论到实践:openeuler/seccom-tee安全模型训练完整教程
  • 性价比之王:专业芯片编程烧录座深度优选
  • Destiny 2单人模式终极指南:彻底解决匹配屏蔽失效问题
  • Windows系统文件AuthFWGP.dll丢失找不到问题解决
  • 电商系统SQL注入防御实战:从参数化查询到纵深安全架构
  • Claude Code 引发 AI coding 变革:代码质量恶化,组织管理与职场生态面临重塑!
  • VS Code Git集成原理与工程实践指南
  • Git实战:多账户配置与高频命令
  • Docker+DDEV搭建Drupal 9本地开发环境实战指南
  • “肥料袋选盛军塑业?工业包装的这些门道你该知道“