.NET缓存学习笔记

 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $(':button').eq(0).click(function () {
                var key = $(":text").eq(0).val();
                var value = $(":text").eq(1).val();
                if (key != "" && value != "") {
                    var data = { action: "add", value: value, key: key };
                    $.post("ReturnValue.ashx", data, function (result) {
                        alert(result);
                    }, "json");
                }
            });

            $(":button").eq(1).click(function () {
                var data = { action: "selectCount" };
                $.post("ReturnValue.ashx", data, function (result) {
                    alert(result);
                }, "json");


            });

            $(":button").eq(2).click(function () {
                var data = { action: "file" };
                $.post("ReturnValue.ashx", data, function (result) {
                    var json = eval(result);
                    alert(json.word);
                }, "json");

            });


        });
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table style="border: 2px solid blue">
                <tr>
                    <th>key
                    </th>
                    <td>
                        <input type="text" id="txt_key" /></td>

                </tr>
                <tr>
                    <th>value
                    </th>
                    <td>
                        <input type="text" id="txt_value" /></td>

                </tr>
                <tr>

                    <td>
                        <input type="button" value="设置" /></td>
                    <td>
                        <input type="button" value="数量" /></td>

                </tr>
            </table>
            <br />
            <input type="button" value="修改" />




            <div id="div">
            </div>









        </div>
    </form>
</body>
</html>

  

        public void ProcessRequest(HttpContext context)
        {
            //context.Response.ContentType = "text/plain";
            //context.Response.Write("Hello World");

            if (context.Request["action"] != null)
            {
                switch (context.Request["action"].ToString())
                {
                    case "add": add(); break;
                    case "selectCount": selectCount(); break;
                    case "file": file(); break;
                    default: break;
                }
            }
        }


        private void file()
        {
            FileInfo fi = new FileInfo("fuct.txt");
            StreamWriter sw = new StreamWriter(fi.FullName);
            sw.WriteLine(new Random().Next(100));
            sw.Flush();
            sw.WriteLine(new Random().Next(100));
            sw.Flush();
            sw.Close();
            sw.Dispose();

            StreamReader sr = new StreamReader(fi.FullName);
            string word = sr.ReadLine();
            sr.Close();
            sr.Dispose();
            string json = "{\"word\":\"" + word + "\"}";
            HttpContext.Current.Response.Write(json);
        }


        private void add()
        {
            TimeSpan ts = new TimeSpan(11, 0, 0);
            string value = HttpContext.Current.Request["value"].ToString();
            string key = HttpContext.Current.Request["key"].ToString();
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;



            FileInfo fi = new FileInfo("fuct.txt");
            System.Web.Caching.CacheDependency file = new System.Web.Caching.CacheDependency(fi.FullName);

            objCache.Insert(key, value, file, DateTime.MaxValue, ts, System.Web.Caching.CacheItemPriority.NotRemovable, null);
            System.Web.Caching.Cache aa = HttpContext.Current.Cache;
            HttpContext.Current.Response.Write(aa.Count);
        }


        private void selectCount()
        {
            System.Web.Caching.Cache aa = HttpContext.Current.Cache;
            HttpContext.Current.Response.Write(aa.Count);


        }




        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    
    

  

 

最近几次面试都问及到了缓存这个东西,所以抽空简单的学习了下  缓存用来存储一些

然后测试了下缓存中的CacheDependency 也就是缓存依赖项  一旦依赖项改变 缓存也随即清空  这个可以用来储存一些配置信息 一般配置到XML然后缓存这个XML一旦配置修改缓存就需要重新去读取

测试了下用一个txt来作为依赖项 手动在文件夹里修改貌似不影响 但是使用程序去修改这立即见效了 缓存被清除了 

posted on 2015-04-15 21:41  奋斗的笨小孩  阅读(204)  评论(0编辑  收藏  举报