1、防SQL注入
    a、PDO预处理
    b、使用php内置过滤敏感字符。     "  ‘  #  ; 
            mysql_escape_string()    addslashes()
2、提高页面加载速度
     a、减少http请求
              减少图片、CSS文件、JavaScript
              使用浏览器的缓存
     b、Javascript要写在网页尾部。
     c、CDN加速
     e、页面静态化
     f、经常查询的数据要缓存到内存
3、多台服务器的SESSION数据怎么共享
    a、将session数据存放到数据库
    b、存放到单独一台session服务器
    c、将session存放到cookie。淘宝有的功能这么做。
4、高并发(同时很多去访问网站):
  1、负载均衡,将请求分配给不同服务器。
       2、将热数据缓存
       3、消息队列。淘宝支付排队、12306排队买票
                             12306验证码为什么搞这么难。
负载均衡、可靠性、扩展性
数据库读写分离
冗余技术、横向扩展。
 5、微信( weiphp ) Laravel(www.laravist.com)  FQ:greenvpn
 6、读写分离    主数据负责写操作(insert),从数据负责读(select)
     读写分离怎么做数据同步:从库去主库复制bin-log(二进制日志)。bin-log是以二进制方式
     存放写操作SQL语句。
    主从数据库一般一主多从或一主一从  
    因为读操作多,所以从数据库多。
 7、MySql分库。db1数据库服务器只存放用户数据  db2只存放商品数据  db3只存放订单。 
    对于MySQL,单表数据行数不能超过百万。           
    MySQL分表   
        水平分表  (将数据划分到多个表)
        user有两个亿
        id  name 
        1   张三   
        2   李四     
        每个表一个亿
        vip_user  
        id name
        1 张三
        user2
        id name
        2 李四
        //李四要登录。vip_user表存放的是经常登录用户。
    
       水平分表的优点:减少单表数据行数,从而加快查询速度
       缺点:增加代码的维护难度。
        垂直分表(将字段划分到多个表)
        user 表   一个亿用户。  
        id  name  nickname(昵称) sex address  email password xueli  height sanwei  phone weight qq birth 
        addTime  loginTime   logoutTime  jifen   
        经常用到字段  id name nickname email password jifen 
        不常用的字段分到另外一个表 user_detail
        商品表
            id gname price  Gdesc(text)
        垂直分表优点:查询速度快
 8、分区
 9、广州市分为很多个区。
 10、CDN (内容分发网络  Content Delivery Network)
     CDN概念:通过在网络各处(网络节点)放置服务器,将静态资源(CSS文件 js 图片、视频)缓存在离用户最近的地方,使用户以最快速度获取数据。
     就近原则。
     武汉有机房(华中)  岭南(广州)  华北(北京)
         百度:因为用户分布广泛。百度服务器机房主要城市都有。
   
   CDN公司:阿里、SAE 、百度、又拍云、七牛
 11、代理?   火车代售点(代理)   代理点靠近用户
      反向代理是靠近服务器。其实就是缓存。
 反向代理先在反向代理服务器找资源,如果代理服务器没有你要的资源。才去服务器拿。
  反向代理实现的软件:Nginx    Nginx优点:并发处理能力高,比apache并发能力强。
                      squid 专业
  12、分布式文件系统。  A文件服务器存放用户数据。  B文件服务器存放商品数据。
  13、站内search 
          like的速度非常慢。为什么?like会导致全表扫描。
          select id,name from good where name like "%fff%";
         大型网站的站内搜索用的是开源搜索引擎 sphinx(斯芬克斯)
  14、NoSQL的数据存放到内存。 NoSQL能不能替代MySQL,暂时不能。
         1、内存贵。
         2、数据安全问题。
   15、DAL数据访问层( 提供很多方法给你去拿数据 )
           简述MVC。
           MVC是一种程序分层思想。
           M是Model,Model负责网站的业务逻辑( 一般的网站的业务逻辑是数据库操作 )
           V是view,view负责把控制器分配过来的数据呈现( 渲染 )给用户
           C是controller 是Model与V的桥梁。
           一般是应用比较多的情况下需要一个DAL,  QQ 游戏 微信( 广州海珠区TIT创意园 )
       
       微信要拿用户数据,要调用已经写到一些方法。
      16、业务拆分
             应用怎么关联。通过链接就可以关联
             百度:搜索、地图、贴吧   
     17、内存缓存怎么做?
             要将热数据缓存。
             缓存时间怎么设置?
                 缓存时间不能设置成一样。缓存时间一样会导致雪崩。
      18、缓存模块!!!    cache  S()
原文:http://www.cnblogs.com/xiabibi/p/5204894.html