php特级课—3、常用的网站加速技术有哪些
一、总结
一句话总结:网站加速技术是一组技术的组合,来提升网站的速度
1.Squid代理缓存技术
2.页面静态化缓存
3.Memcache
4.Sphinx搜索加速
1、squid的作用是什么(squid动静分离)?
动静分离,动态数据和静态数据分离:squid是linux里面的软件:Squid最开始是做代理服务器的
squid是linux里面的软件
动静分离,动态数据和静态数据分离
Squid最开始是做代理服务器的
2、什么是静态数据(除了js和css文件外)?
静态页面、图片/FLUSH、CSS文件、JS文件
3、什么是动态数据?
根据用户的请求从服务器的数据库中或文件获取的记录
4、squid技术的机制和实例?
感觉和cdn有点相似:就近请求服务器
比如新浪,新浪的总部在北京,但是新浪在每个城市都有服务器,比如山西太原,
现在山西太原的一个用户请求访问一个北京的网站,那么那些静态资源(flash,css,js,图片等)会加载进山西太原的服务器的缓存池,
如果山西太原的其它用户要访问这个北京的网站,那么就不需要从北京的服务器上面加载,直接在山西太原的服务器上面加载这些资源就可以了
5、squid反向代理是什么(代理跑一趟的功能)?
代理服务器帮忙请求和返回资源
客户机需要向服务器请求资源,代理服务器帮忙请求,然后代理服务器把资源返回给用户,
感觉游戏加速器就是相似的原理
6、页面静态化如何实现网站加速(比如smarty技术)?
使用现成的插件:比如:Apache HTTP服务器的mod_rewrite等
自己写:自己写的代码实现动态网页静态化,方法也有好几种:1、创建FSO对象,2、利用模板技术,3、使用Server.Transfer转换技术
HttpWebRequest:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面
方法一:使用现成的插件,
比如:Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。
它们的使用方法查看它们自带的帮助即可
方法二:自己写的代码实现动态网页静态化,方法也有好几种:
1、创建FSO对象,利用此对象将所需的内容动态创建到文
件中生成HTML页面
2、利用模板技术,将模板中特殊代码的值替换为从表单或
是数据库字段中接受过来的值 生成HTML文件
3、使用Server.Transfer转换技术
方法三:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面。
一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载
7、常用的页面静态化(模板技术)有哪些?
Smarty模板
ThinkPHP框架
ZendFrameWork框架
BroPHP框架
8、Memcache是什么?
内存中读取:Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
实例:用于常用资源的缓存区间
Memcache是一个高性能的分布式的内存对象缓存系统,
通过在内存里维护一个统一的巨大的hash表,它能够用
来存储各种格式的数据,包括图像、视频、文件以及数
据库检索的结果等。简单的说就是将数据调用到内存中,
然后从内存中读取,从而大大提高读取速度
Memcache是danga的一个项目,最早是
LiveJournal 服务的,最初为了加速 LiveJournal 访问
速度而开发的,后来被很多大型的网站采用
Memcached是以守护程序方式运行于一个或多个
服务器中,随时会接收客户端的连接和操作
9、memcache的工作机制是怎样的?
第一次取数据的时候从数据库中取,然后存到memcache中,后面的请求直接从memcache中取就好
10、银行系统适合用memcache么?
不适合:服务器宕机会影响影响memcache中存储的数据,所以比如银行经融里面的一些操作就不适合memcache,以防数据突然丢失
11、Sphinx搜索(加速)是什么?
全文索引:Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
Sphinx是一个基于SQL的全文检索引擎,可以结合
MySQL,PostgreSQL做全文搜索,它可以提供比数据库
本身更专业的搜索功能,使得应用程序更容易实现专业
化的全文检索。Sphinx特别为一些脚本语言设计搜索
API接口,如PHP,Python,Perl,Ruby等,同时为
MySQL也设计了一个存储引擎插件。
Sphinx 单一索引最大可包含1亿条记录,在1千万条记
录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建
索引的速度为:创建100万条记录的索引只需 3~4分
钟,创建1000万条记录的索引可以在50分钟内完成,
而只包含最新10万条记录的增量索引,重建一次只需几
十秒
比mysql里面的搜索快太多
12、Sphinx全文索引的原理是什么?
php请求数据,Sphinx拿到文档id,然后去Mysql中通过文档id拿数据
13、搜索引擎的必须的技术是什么?
中文分词:类似于百度的搜索
14、 Sphinx全文索引的时间量级是多少?
1000W条才0.几秒
二、内容在总结中
原文链接:https://www.cnblogs.com/Renyi-Fan/p/9751605.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/17266