ページキャッシュ、cache、キャッシュの有効期限設定、OutputCache

2315 ワード

ページキャッシュ
方法1:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //     
            if (Cache["List"] == null)
            {
                string sql = "select * from [dbo].[sys_user]";

                ////      
                ////Cache["List"] = AutoCodeKldder.SqlHelper.ExeccutDataTable(sql);
                //Cache.Insert("List", AutoCodeKldder.SqlHelper.ExeccutDataTable(sql));
                
                //     (15 )
                Cache.Insert("List", AutoCodeKldder.SqlHelper.ExeccutDataTable(sql), null, DateTime.Now.AddSeconds(15), System.Web.Caching.Cache.NoSlidingExpiration);
            }
            //      
            DataTable data = Cache["List"] as DataTable;
            StringBuilder str = new StringBuilder();
            if (data.Rows.Count > 0)
            {
                foreach (DataRow row in data.Rows)
                {
                    string name = row["loginId"].ToString().Trim();
                    str.Append(name + "
"); } } Response.Write(str.ToString().Trim()); } }

方法2:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //          15 
            //Duration           
            //VaryByParam           : VaryByParam="id" or VaryByParam="id;name" or VaryByParam="*"
            string sql = "select * from [dbo].[sys_user]";
            DataTable data = AutoCodeKldder.SqlHelper.ExeccutDataTable(sql);
            StringBuilder str = new StringBuilder();
            if (data.Rows.Count > 0)
            {
                foreach (DataRow row in data.Rows)
                {
                    string name = row["loginId"].ToString().Trim();
                    str.Append(name + "
"); } } Response.Write(str.ToString().Trim()); Response.Write(DateTime.Now.ToString()); } }

.フロントにタグ付きページキャッシュ15秒
.Duration秒単位のキャッシュ時間
.VaryByParamパラメータバンドパラメータを区別するのは、VaryByParam="id"or VaryByParam="id;name"or VaryByParam="*