首页静态化策略
作者:喻家军 发表时间:2015-02-26 16:52:04

此处网站静态化并非指html网页,而是不访问数据源展现数据并保证数据是最新的,网站静态化处理方法很多,这只是其中一个方法。

以网站右侧分类为例:每添加一条数据,相对应的分类数量就会发生变化

首先分析:数据CURD操作并不频繁,且量小,虽然每次访问数据库并无问题,但是一旦访问量过大,达到数据库瓶颈就会报错,该怎么处理好呢?

既然操作不频繁为什么不做成静态或缓存呢(本站首页动态数据都以此方式处理)

以下为实例:

首先声明两个静态变量如下:


    public static string _link{get;set;}
    public static string link
    {
        get
        {
            if (string.IsNullOrEmpty(_link))
                _link = "从数据源获取值";
            return _link;
        }
    }

    相信大家一看就知道是怎么回事了,使用static静态的优势来处理,如果_linknull就重新为其赋值(可以从文件、数据库等读取),并返回,在对数据库做CURD操作时直接把_link=null;读取直接读取link的值,这样就及使用了缓存也保证了数据为最新,不管访问量大不大这样处理都提高很大性能,这里抛砖引玉,给大家一个头绪。

   此方法同时也有个缺点如果对数据源操作的地方过多,导致到处都是_link=null;(还会存在漏写的情况),如果以后有变动,修改起来不方便(可以把_link=null封装成一个静态方法,直接调用该方法即可),这就像杠杆一样需寻找一个平衡点。

 

不同的问题有不同的解决方案,只要肯静下来想想,很多问题都是可以巧妙解决的。