wap流量统计分析平台(转)
来源:互联网 发布:qq炫舞一键开黑软件 编辑:程序博客网 时间:2024/04/27 23:34
在《他舅网wap流量统计分析平台》开发中为了提高系统的性能,我们利用Cache来保存数据,例如把用户的一些权限信息放在Cache中,但这样做会有些问题,何时清除Cache与数据保持同步,下面我在项目中使用Cache的心得,与大家分享。
一、利用CacheDependency类
它在命名空间System.Web.Caching中。CacheDependency类会与文件之间建立依附性关系。在文件更改时,该Cache项会自动移除。
方法:
把用户权限信息保留成XML文件,当管理员更新数据时,同时更新这个XML文件。
代码:
//Cahce值为XML文件内容
XmlDocument doc = Cache["user"] as XmlDocument;
if (doc == null)
{
doc = new XmlDocument();
string filePath = Server.MapPath("user.xml");
//建立依赖项
CacheDependency c = new CacheDependency(filePath);
doc.Load(filePath);
//建立依赖关系
Cache.Insert("skin", doc, c
,Cache.NoAbsoluteExpiration
,TimeSpan.FromMinutes(30)
);
}
二、利用SqlCacheDependency类
它也在命名空间System.Web.Caching中,SqlCacheDependency会与数据库表或SQL Server查询结果建立依赖关系,这种方法操作比较复杂。
步聚1:
在Web.Config文件中增加数据库连接串与Cache配置节点。
<configuration>
<appSettings/>
<connectionStrings>
<add name="connStr" connectionString="server=192.168.1.24;uid=sa;pwd=l23;database=CacheTest;"/>
</connectionStrings>
<system.web>
<caching>
<sqlCacheDependency>
<databases>
<!--节点connectionStringNam的值connStr必须与上面定义的连接串节点name的值相同-->
<add name="entryName" connectionStringName="connStr" pollTime="50000"/>
</databases>
</sqlCacheDependency>
</caching>
</system.web>
</configuration>
步聚2:
在Global.asax文件中填加代码,目地是在应用程序端启用依赖监听器,该方法的参数为数据库的连接字符串。
void Application_Start(object sender, EventArgs e)
{
System.Data.SqlClient.SqlDependency.Start(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
}
void Application_End(object sender, EventArgs e)
{
System.Data.SqlClient.SqlDependency.Stop(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
}
步聚3:
定义数据库依赖项。
String CacheName = "CacheName ";
String strconnection = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
DataTable table = new DataTable();
if(Cache[CacheName] == null)
{
SqlConnection conn = new SqlConnection(strconnection);
SqlCommand cmd = new SqlCommand( "select * from dbo.user" , conn);
cmd.CommandType = CommandType.Text;
//这时非常重要
SqlCacheDependency dep = new SqlCacheDependency(cmd);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
conn.Open();
adp.Fill(table);
conn.Close();
TimeSpan ts = new TimeSpan(1, 0, 0);
//建立依赖
Cache.Add(CacheName, table, dep, Cache.NoAbsoluteExpiration, ts, CacheItemPriority.High, null);
}
else
{
table = (DataTable)Cache[CacheName];
}
步聚4:
启用 SQL 缓存依赖项。
运行 Aspnet_regsql.exe文件,目录在C:/WINDOWS/Microsoft.NET/Framework/<你的Framework版本号文件夹>/aspnet_regsql.exe
输入命令行aspnet_regsql.exe -S <服务器名称> -U <用户名> -P <密码> -ed -d 数据库名 -et -t 表名
执行完命令后,系统自动会在相应的数据库中增加了一些存储过程,这样就全部完成了。
心得:
第一种方法使用简单方便,在本项目中经常使用。
第二种方法对SQL语名限制较严格,不能带有Where关键字,也不能用存储过程。如果您知道解决方法请分享。
- wap流量统计分析平台(转)
- 推荐一个免费的手机站点统计分析平台:他舅网WAP流量分析平台
- 流量统计分析基础
- 网站流量统计分析---指标
- Rainbow的站点流量统计分析
- Rainbow的站点流量统计分析
- 如何统计分析CSDN博客流量
- 如何统计分析CSDN博客流量
- 关于wap站点流量分析统计平台的发展方向之我见
- wap网站首页宽度和长度统计分析
- WAP网站流量分析 WAP流量统计 wap网站流量统计
- 用FLASH表示的流量统计分析
- 统计分析师:Linux路由器流量统计系统
- 基于MapReduce的手机上网流量统计分析
- DM/OTA/WAP平台
- 手机wap网站首页宽度和长度统计分析
- 手机wap网站首页宽度和长度统计分析
- 手机wap网站首页宽度和长度统计分析
- 在这里写下自己的第一篇
- 第一次坐28lu公交 竟然要吐
- viila星球趣事
- 小队战术游戏研究:武器
- sql2005《新》行列转换的使用(使用pivot函数)
- wap流量统计分析平台(转)
- 游戏策划的基本原则
- SQL SERVER 安装时错误-- 以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机
- 关系数据库
- 平民程序 - linghuye's blog
- 跟老领导谈职业规划
- T-SQL 字符串处理方法、函数大全
- 一份2006年11月左右的alexa排名,感慨互联网的江湖变化莫测
- C#常用关键字