M3.1
任务描述
「奈斯!」bLue 说道。但他觉得缓存并不稳定,一旦后端服务崩溃或重启,缓存就会失效。既然如此,为什么不把数据持久化呢?这就像使用计算机,将文件存储到磁盘等介质,即使断电重启,数据也不易丢失。
任务要求
你需要实现一个后端程序,和之前一样提供查询选手信息和 rating 记录的 HTTP 服务。但你应将每次爬取的数据进一步持久化存储到本地文件,且在处理请求时优先尝试读取本地文件中的数据。这样,即使重启后端程序,对于已存储的数据,也可以跳过重复爬取。
数据文件的具体内容和格式不做要求,你既可以直接使用某些现成的文件格式,如 Excel;也可以自行设计数据格式,以纯文本或二进制等形式存储。
我们约定需要两个数据文件。文件名分别为 data-user-info
和 data-user-ratings
,扩展名任意。
在这个任务中,你不需要提供清除数据的操作,只需为存储的数据设置有效期即可。
为测试方便,所有数据的有效期均为 30 秒。当数据过期时,你应当重新爬取并更新数据文件。
请求格式和示例
同 M2.3。
建议完成用时
1 天。
自学参考资料关键词
- 文件读写
总结回顾检查点
- 你知道哪些常见的存储数据的文件格式?
进阶思考题
- 持久化存储和内存缓存可以一起使用吗?