我有一个动态 php(基于 Yii 框架)站点。用户必须登录才能在网站上执行任何操作。我正在尝试了解缓存和 CDN 的工作原理;我有点困惑。
缓存(内存缓存):
我的网站有大量的 css、js 和图像。我已经了解到启用缓存(“memcache”?)将大大加快我的网站速度。但这让我很困惑。缓存有什么帮助?我的意思是,如何分别为每个用户缓存从数据库中出来的东西?例如,用户 1 登录,他会看到他的控制面板。用户 2 登录,用户 2 将看到他们的控制面板。
如何确定要缓存的内容?另外,如何启用缓存(memcaching)?
CDN:
我被告知要使用像CloudFlare这样的内容交付网络。假设会自动缓存我的网站。那么,当我的 user-1 登录时,它会缓存什么?它会只缓存主页 CSS、JS 和主页图片吗?因为其他一切都需要登录?用户注销时会发生什么?我的意思是,“会话”会干扰 CDN 的工作吗?
通过 CDN 提供图像是否会显着减少我的服务器上的负载?我没有太多现金来获得集群服务器配置。所以,我只希望我的(共享)服务器能够将其所有资源用于处理 PHP 代码。那么,通过使用“缓存”(类似于 memcache)和/或“CDN”(类似于 CloudFlare)可以节省多少负载?
最后,
在这种情况下实施缓存、cdn 和基本性能优化的一般策略是什么?我是否需要对我的 php 代码进行任何更改以启用像 CloudFlare 这样的 CDN 并启用/实施/配置缓存?我该怎么做才能花费最少的开发人员/编码时间,并使我的网站运行得更快?
哦,等等,我的一些页面,如“关于我们”页面等,也将是静态 html。但他们不会得到那么多的点击率。除了可能用于我的Facebook 页面的 iFrame 页面。