• 关于缓存的学习记录


    看到一个大神关于MVC缓存的学习文章,希望大家一起学习。

    原文地址:http://www.cnblogs.com/iamlilinfeng/p/4419362.html

    缓存介绍:

    个人对于缓存的理解就是这样子的。用户访问一个页面A,后端找到A.cshtml之后还要各种构造~转换~序列化。。。(我也不是很懂~感觉有这些东西),然后把这些东西给用户的界面。但是如果这个页面有一个标题是绑定在数据库的,那每次用户访问这个页面都要练数据库查询数据然后再构造~转换~序列化。。。。再给用户页面不很麻烦吗?。如果用户第一次访问这个页面的时候我们把这个页面构造~转换~序列化。。。之后的成品保存下来,每次用户要得时候直接给成品,这样子不就快多了吗?

    Controller缓存

    这个缓存是让该控制器下面所有方法都缓存的(我测试了一下不仅仅页面可以缓存,貌似方法也可以缓存)

    控制器代码如下:

    页面代码如下:

    从上面可以看出,Index页面会显示一个时间,且用ajax请求的方式在控制台输出了Mess方法请求的时间。

    下面是运行效果:

    只要是在10秒之内的刷新、浏览,这个时间都是不会变的(不过这个页面从生成到ajax请求结束居然花了2S。。。)

    关于数据库依赖

     在开头说道A页面有一个数据要访问数据库,这个时候缓存就不仅仅是依赖刷新时间了,而是依赖数据库是否有更新。

     先按照上述节点补充,然后在VS的命令行中运行

    aspnet_regsql -S localhost -U sa -P 123456 -ed -d wcfDemo -et -t user

    期中

          -S localhost:数据库地址

          -U sa:数据库登录名

          -P 123456:数据库登录密码

          -d wcfDemo:数据库的名称

          -t user:表名称(小写)

     这样子每当数据库有刷新,页面的缓存就会失效,重新保存了~

     

    原文链接:http://www.cnblogs.com/iamlilinfeng/p/4419362.html

     另外补充不需要启动的方式

    //启用更改通知
    SqlCacheDependencyAdmin.EnableNotifications(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);

    //连接到 SQL Server 数据库并为 SqlCacheDependency 更改通知准备数据库表
    SqlCacheDependencyAdmin.EnableTableForNotifications(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString, "QJInfo_SiteInfo");

    //制定缓存策略
    SqlCacheDependency scd = new SqlCacheDependency("SiteInfoSqlDependency", "QJInfo_SiteInfo");

    //插入缓存
    cache.Insert("SiteInfo", siteInfo, scd, DateTime.Now.AddHours(5), Cache.NoSlidingExpiration);

    之后数据库表有插入、更新或删除操作时,该缓存就会自动失效,数据库里边多了个表AspNet_SqlCacheTablesForChangeNotification来记录相关表变化信息。

  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/moshanghuakai/p/7159041.html
Copyright © 2020-2023  润新知