高冷剑客背影图片:缓存-MemCache
来源:百度文库 编辑:中财网 时间:2024/05/06 16:17:20
//方一
public UserInfo GetCacheData1(string key)
{
UserInfo value = mc.Get(key) as UserInfo;
if (value == null)
{
// 3 分钟到期.在delete操作执行之前,当前key_mutex add只能被添加一次并返回true
if (mc.Add(key + "_mutex", key + "_mutex", DateTime.Now.AddMinutes(3)) == true)
{
value = new UserInfo() { UserName = "daizhj", Email = "daizhj617595@126.com" };// db.get(key);//从加载数据
mc.Set(key, value);
mc.Delete(key + "_mutex");
}
else
{
System.Threading.Thread.Sleep(500);//如果设置过短,可能上面set语法还未生效
value = mc.Get(key) as UserInfo;//sleep之后重试读取cache数据
}
}
return value;
}
memcached服务器端的安装
下载文件:http://www.danga.com/memcached/
1. 解压缩文件到
c:\memcached
2. 命令行输入
'c:\memcached\memcached.exe -d install'
3. 命令行输入
'c:\memcached\memcached.exe -d start'
该命令启动 memcached ,默认监听端口为 11211,通过 memcached.exe -h 可以查看其帮助。
.NET memcached client library
下载文件:https://sourceforge.net/projects/memcacheddotnet/
里面有.net1.1 和 .net2.0的两种版本 还有一个不错的例子。
应用
1. 将Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录
2. 引用Memcached.ClientLibrary.dll
3. 代码