一:缓存
按缓存位置分:文件缓存或者内存缓存
1:文件缓存就是把数据以文件形式保存,
这个过程,是消耗IO资源.
smarty中的缓存文件都放在指定的目录下
当缓存文件过多 到时候 引起读取性能下降
解决思路 :总数不变 但要求一个目录下不能太多 可以分目录 然后分层
1建立A_Z的26个目录 2然后分层 在分别建立A_Z的目录
案例 在session存储的时候 可以设置session_save_path=’2;D:/tmp’,可以把session分两层来存储
3:页面缓存或者静态页面 ,缓存的是整体html代码,有大量的冗余的缓存.
按缓存内容分: 页面缓存和数据缓存
4:真正应该缓存的是数据,而不是文件
数据缓存在内存中 memcached(存内存) redis mongodb 可以持久化 可以把内存数据保持到硬盘上
例如:1500W条数据中,300W条被频繁访问,
可以把这300W条数据(不是静态页面 ),缓存到内存.
甚至把300W条数据缓存到数据库'
5CDN加速:images,js,css,等文件进行 前端缓存
就是南北方网速连接不快 可以在南方某地建立一台服务器
负责根据IP地址来缓存网站的前端文件
当访问网站根据IP来判断中转到CDN服务器上面
总结 好的架构都是改出来的 不是设计出来的
只有在现实的挑战中不断更改而成的
按缓存位置分:文件缓存或者内存缓存
1:文件缓存就是把数据以文件形式保存,
这个过程,是消耗IO资源.
smarty中的缓存文件都放在指定的目录下
当缓存文件过多 到时候 引起读取性能下降
解决思路 :总数不变 但要求一个目录下不能太多 可以分目录 然后分层
1建立A_Z的26个目录 2然后分层 在分别建立A_Z的目录
案例 在session存储的时候 可以设置session_save_path=’2;D:/tmp’,可以把session分两层来存储
3:页面缓存或者静态页面 ,缓存的是整体html代码,有大量的冗余的缓存.
按缓存内容分: 页面缓存和数据缓存
4:真正应该缓存的是数据,而不是文件
数据缓存在内存中 memcached(存内存) redis mongodb 可以持久化 可以把内存数据保持到硬盘上
例如:1500W条数据中,300W条被频繁访问,
可以把这300W条数据(不是静态页面 ),缓存到内存.
甚至把300W条数据缓存到数据库'
5CDN加速:images,js,css,等文件进行 前端缓存
就是南北方网速连接不快 可以在南方某地建立一台服务器
负责根据IP地址来缓存网站的前端文件
当访问网站根据IP来判断中转到CDN服务器上面
总结 好的架构都是改出来的 不是设计出来的
只有在现实的挑战中不断更改而成的