第一次接触到缓存时候,觉得不可理解,为什么需要需要缓存呢?
慢慢地,发现其实缓存的确有很多的优点:
1.能够大幅度减少数据的获取时间,特别是对于 sql 慢查询来讲,缓存机制可以明显的优化用户体验。
2.减少获得数据的计算资源消耗,给其他服务腾出计算资源,对于计算过程比较漫长的所得出的结果来说,缓存也可以明显减少二次加载时间。
3.可以降低服务器的性能要求,能够降低网站运行成本。
这里来说说文件缓存的优缺点
优点:
1.系统适应性高,只需要语言支持文件操作就可以实现,语言本身也不需要额外的拓展包。
2.简单可读,可以以文本的格式存储缓存数据。
缺点:
1.频繁的文件IO可能会造成磁盘比较容易损坏。
2.文件缓存可能会造成高并发写的情况,这个情况要做好控制。
3.相对于其他比较常用的,例如redis,memcached来说,效率比较低。
4.对于 KEY 的管理可能不是特别明朗
文件缓存的注意事项
1.同一个文件下的缓存文件尽量不要太多,不然会影响操作系统的查找文件索引的效率。可以尝试哈希数据的KEY之后,按照前几个子串来建立文件目录
2.做好并发控制,例如,写的时候,其他线程放弃对这个文件写入。
3.根据数据实时性的要求,来决定缓存数据的缓存策略:什么数据不容忍脏数据缓存;什么数据可以容忍只 SET 不删,并设置合理的容忍时间;什么数据需要缓存,并应用相关策略。