面试题答案
一键面试冷热数据定义
- 热数据:经常被访问、读取频率高的数据。这些数据对于系统的正常运行和用户体验至关重要,快速获取热数据能够显著提升系统性能。例如电商系统中热门商品的信息,频繁被用户查看。
- 冷数据:访问频率较低的数据。这类数据虽然不常被使用,但仍需保留以备不时之需。如电商系统中历史订单记录,大部分情况下用户不会频繁查看很久以前的订单。
区分冷热数据常用策略
- 时间策略
- 访问时间:记录数据最后一次被访问的时间,设定一个时间阈值。若数据距离最后一次访问时间超过该阈值,可认为是冷数据;反之则为热数据。例如在Web应用中,对于用户浏览记录,若用户一个月内都未再次访问某页面数据,可将其视为冷数据。
- 创建时间:根据数据的创建时间来判断。新创建的数据在一段时间内可能是热数据,随着时间推移,若访问频率没有持续保持,逐渐变为冷数据。如新闻资讯系统,新发布的新闻在发布初期是热数据,随着时间流逝,热度下降成为冷数据。
- 访问频率策略
- 固定时间窗口内的访问次数:设定一个时间窗口,统计在该窗口内数据被访问的次数。若访问次数高于某个设定的阈值,则为热数据;低于阈值则为冷数据。例如在数据库缓存中,统计1小时内某条记录的查询次数,若超过100次,认为是热数据。
- 滑动时间窗口:与固定时间窗口类似,但窗口会随着时间不断滑动更新。这样能更实时地反映数据的冷热程度。如在分布式缓存系统中,通过滑动时间窗口统计最近5分钟内数据的访问次数,来动态判断数据冷热。