一行JS代码实现页面图片延迟加载[jquery lazyload]

    提高页面加载速度的方法有很多种,这里推荐一种在页面图片较多的时,提高页面整体加载速度的方法–延迟加载(lazyload)。

    当一个页面图片较多时,页面整体的数据就会比较大,一次load完再展示,页面打开会显得比较慢,延迟加载就是在浏览器在解析HTML时不对图片进行加载,当页面打开后,监控滚动条对本屏图片进行逐个载入,这样可以将一个页面数据请求分散为多个,大大减少一次请求load数据的时间,从而提高页面的加载速度。
    借助 jquery lazyload插件可以轻松实现延迟加载,调用方式如下:
    引入jquery和jquery lazyload插件: 

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>

图片标签处理:

<img data-original="img/example.jpg" width="640" height="480">
<!--
<img data-original="图片路径" width="640" height="480">
即把img标签src属性改为data-original
-->
    在页面加载完成后调用: 

<script>
 $(function() {
  $("img").lazyload();
  //加上淡出效果
  //$("img").lazyload({ effect : "fadeIn" });
 });
</script>
    下载地址:下载 
     转载请注明出处:怡然之乐 – FineYi

web集群的PHP Session共享 解决方案

Web集群PHP Session共享解决方案:

 

1. 基于Cookie的Session共享

把用户相关的Session信息存储到浏览器的Cookie中,也称为客户端Session。

采用Flash Cookie、URL重写的方式传递Session信息的方案也可以归为此类。

缺点:只能够存储字符串、数值等基本类型的数据;Cookie大小存在限制;安全性;带宽及数据解压缩、网络传输性能问题。

 

2. 基于NFS的Session共享

通过NFS方式来实现各台服务器间的Session共享,各台服务器只需要mount共享服务器的存储Session的磁盘即可,实现较为简单。

但NFS对高并发读写的性能并不高,在硬盘I/O性能和网络带宽上存在较大瓶颈,尤其是对于Session这样的小文件的频繁读写操作。

基于磁盘阵列/SAN/NAS等共享存储的方案道理也类似。

 

3. 基于数据库的Session共享

把Session信息存储到数据库表(比如mysql的内存表Heap),这样实现不同应用服务器间Session信息的共享.

缺点:由于数据库服务器相对于应用服务器更难扩展且资源更为宝贵,在高并发的Web应用中,最大的性能瓶颈通常在于数据库服务器。因此如果将 Session存储到数据库表,频繁的增加、删除、查询操作很容易造成数据库表争用及加锁,最终影响业务。

 

4.基于Memcached/Tokyo Tyrant/Redis 等Key-Value DB的Session共享

这种方案的可扩展性高,读写速度快,推荐使用。

Memcached实现PHP Session共享,有memcache和memcached两个扩展可用。

1).使用memcache扩展的配置,在php.ini中修改,

session.save_handler = memcache
session.save_path = “tcp://127.0.0.1:11211″

使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:”tcp://host1:port1persistent=1&weight=2,tcp://host2:port2″

2).使用Memcached扩展的配置,在php.ini中修改

session.save_handler = memcached
session.save_path = “127.0.0.1:11211,127.0.0.1:11212″

 

参考资料:无名小站