Back to archive
|2 min read

Redis 在 SmartNote 中的两个应用场景:搜索历史与热门笔记缓存

结合 SmartNote 项目,梳理 Redis 在搜索历史和热门笔记缓存两个场景中的实际使用方式。

Redis项目实战微服务

在后端学习过程中,Redis 经常被提到,但如果只是停留在“它是缓存数据库”这种层面,其实很难真正理解它。

所以在 SmartNote 项目里,我希望至少把 Redis 用在两个真实业务场景中:

  • 搜索历史
  • 热门笔记缓存

这两个点既自然,也比较适合当前阶段落地。

场景一:搜索历史#

当用户搜索笔记关键词时,如果能保留最近的搜索记录,使用体验会更好。

比如用户搜索过:

  • Java
  • Spring Boot
  • Redis
  • JWT

下次再进入搜索页时,就可以直接展示最近搜索历史。

为什么这个场景适合 Redis#

搜索历史有几个特点:

  • 数据变化频繁
  • 读写速度要求高
  • 不需要特别复杂的关系查询
  • 通常只保留最近若干条

这种数据如果直接存在 MySQL,其实也能做,但成本更高,而且没有必要。

Redis 更适合这种“轻量、频繁、短期、高速访问”的数据。

为什么我会优先考虑 List#

对于搜索历史,一个很自然的结构就是 List。

例如 Redis key 可以设计成:

search:history:user:{userId}
---