关于缓存的学习记录
2018-06-22 06:13:33来源:未知 阅读 ()
看到一个大神关于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来记录相关表变化信息。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp.net定点执行任务的方法 2020-03-18
- 用继承方法实现页面判断session的方法 2020-03-10
- .NET 缓存模块设计实践 2020-01-20
- asp.net基础学习之前端页面布局 2019-11-30
- ASP.NET连接 Access数据库的几种方法 2019-11-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash