|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}
---