数据缓存
来源:互联网 发布:linux查看检测网络命令 编辑:程序博客网 时间:2024/04/26 12:51
如果你不知道如何进行数据缓存
这样,每一个用户的UserInfo是缓存在内存中的,你在cookie中金需要保存其id号即可,根本不应该“经编码加密后放到 cookie 里”。你可以想象一下,将大量信息随每一次客户端请求都在千里之外的客户端与服务器之前来回复制,这比后台服务器本地操作要慢多少倍速度啊!
这里不是依赖于SQL Server的“表数据更新通知”,而是自己定义了一个标志ua,当这个标志的数据改变时就会连带地清除UserInfo的缓存信息。
然后你的程序里凡是需要刷新缓存的地方(例如修改用户信息),就可以写这样一句话来通知刷新缓存。
1
2
3
4
5
6
7
8
9
10
11
12
public
static
UserInfo GetUserInfo(
string
id)
{
var cache = HttpRuntime.Cache;
var key =
"用户 "
+ id +
"的信息"
;
var ret = (UserInfo)cache[key];
if
(ret ==
null
)
{
ret = 从数据库中读取用户信息(id);
cache.Insert(key, ret,
new
SqlCacheDependency(
"MyDatabase"
,
"UserInfomation"
));
}
return
ret;
}
这样,每一个用户的UserInfo是缓存在内存中的,你在cookie中金需要保存其id号即可,根本不应该“经编码加密后放到 cookie 里”。你可以想象一下,将大量信息随每一次客户端请求都在千里之外的客户端与服务器之前来回复制,这比后台服务器本地操作要慢多少倍速度啊!
.net内存对象根本不在cookie中,cookie中就只有它的id号而已。
----
使用了 SqlCacheDependency。实际上缓存依赖项在.net中有很多种,你还可以自定义自己的CacheDependency,也可以使用 AggregateCacheDependency 将多个 CacheDependency 封装到一个CacheDependency里边。
例如你可以使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public
static
UserInfo GetUserInfo(
string
id)
{
var cache = HttpRuntime.Cache;
var key =
"用户 "
+ id +
"的信息"
;
var ret = (UserInfo)cache[key];
if
(ret ==
null
)
{
ret = 从数据库中读取用户信息(id);
var c = cache[
"ua"
];
if
(c ==
null
)
cache.Insert(
"ua"
, DateTime.Now.Ticks);
cache.Insert(key, ret,
new
CacheDependency(
null
,
new
string
[] {
"ua"
}));
}
return
ret;
}
这里不是依赖于SQL Server的“表数据更新通知”,而是自己定义了一个标志ua,当这个标志的数据改变时就会连带地清除UserInfo的缓存信息。
然后你的程序里凡是需要刷新缓存的地方(例如修改用户信息),就可以写
1
HttpRuntime.Cache[
"ua"
]= Datetime.Now.Ticks;
通过模拟应用程序的负载,您可以测试并发问题,更好地了解应用程序在压力下的行为。通过刷新浏览器来测试负载和并发性并不是一种有效的测试。
以下是 Microsoft 提供的 Web 压力工具:
- Web Capacity Analysis Tool(Web 能力分析工具)
- IIS 6.0 资源工具包工具中包括 WCAT 5.2。要下载 IIS 6.0 资源工具包工具,请访问下面的 Microsoft 网站:http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en(http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en)
- IIS 7.0 Web 能力分析工具可以从下面的 Microsoft 网站下载:http://www.iis.net/downloads/default.aspx?tabid=34&i=1466&g=6(http://www.iis.net/downloads/default.aspx?tabid=34&i=1466&g=6)
- Visual Studio Team System 2008 Test 版
有关更多信息,请访问以下 Microsoft 网站:http://msdn.microsoft.com/zh-cn/teamsystem/dd408381.aspx(http://msdn.microsoft.com/zh-cn/teamsystem/dd408381.aspx)
regedit → 打开注册表 → 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state \Parameters 节点 → 将 AllowRemoteConnection 的键值设置成“1”(
有很多我们不了的东西
- 数据缓存
- 数据缓存
- 【数据缓存】
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存
- 数据缓存&&文件缓存方法
- Redis缓存服务器缓存数据
- 数据缓存-数据分级策略
- 测试所有缓存数据
- Hibernate之数据缓存
- jQuery 选择器
- 页面爬虫(获取其他页面HTML)加载到自己页面
- Android Layout之一:FrameLayout
- 电话号码的快速查找
- Ant常见任务
- 数据缓存
- Linux文件系统比较
- NS节点及其配置[转载]
- windows进程间通信
- CSS之选择器
- 程序设计基础
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
- Isometric Game Programming 笔记(三)格子间的移动
- 淘宝服务市场 淘宝订单同步方案 - 丢单终结者