ASP.NET-【キャッシュ】-ASP.NETキャッシュを使用

4759 ワード

リストをキャッシュ はんけいこうぞう
1.表示
            var s = Get("personsl");

            foreach (var item in s)

            {

                Response.Write(item.Name);

            }

2.取得データ
        //    

        public List<Personal> Get(string key)

        {

            List<Personal> list = DTcms.Common.CacheHelper.Get<List<Personal>>(key);

            if (list == null || list.Count == 0)

            {

                DTcms.Common.CacheHelper.Insert("personsl", Create(), 30);

                list = DTcms.Common.CacheHelper.Get<List<Personal>>(key);

            }

            return list;

        }

3.データソースの作成
        //     

        public List<Personal> Create()

        {

            List<Personal> list = new List<Personal>();

            for (int i = 0; i < 10; i++)

            {

                Personal p = new Personal(i.ToString(), "xiaoming" + i);

                list.Add(p);

            }

            return list;

        }
    //    

    public class Personal

    {

        public string ID { get; set; }

        public string Name { get; set; }

        public Personal(string id, string name)

        {

            this.ID = id;

            this.Name = name;

        }

    }

4.キャッシュ数の表示
//異常が例示できないResponse.Write(new System.Web.Caching.Cache().Count);Response.Write(HttpRuntime.Cache.Count);
5.Cacheの絶対期限とスライド期限の絶対期限:絶対期限が指定された時間になると無効になります.(Cookieメカニズムと同様)相対失効はスライド失効とも呼ばれます.相対失効時間を設定して指定した時間内にアクセスがないと失効します.(Sessionメカニズムのように)HttpRuntime.CAcheとHttpContext.Current.CAcheが同じオブジェクトであるHttpRuntime.CAche.Addは同じキーが存在すると異常となり、キャッシュに成功したオブジェクトを返すHttpRuntime.CAche.Insertと同じキーが存在すると戻り値のないHttpRuntime.CAcheが置き換えられる[key]辞書を使用してもHttpRuntime.CAche.Insertを読み取り、設定することができる(key,value,null,DateTime.Now.AddSeconds(seconds),TimeSpan.Zero);//絶対有効期限を指定時間に設定すると無効になりますps:TimeSpan.Zero==System.Web.Caching.Cache.NoSlidingExpirationHttpRuntime.Cache.Insert(key,value,null,DateTime.MaxValue,TimeSpan.FromSeconds(seconds));//相対有効期限指定時間内にアクセスしないと無効になるps:DateTime.MaxValue==System.Web.Caching.Cache.NoAbsoluteExpiration