博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
memcache实战之三 :客户端 enyim.com Memcached Client 的安装与调试以及实例,2012年下载地址...
阅读量:7240 次
发布时间:2019-06-29

本文共 3756 字,大约阅读时间需要 12 分钟。

注意: enyim.com Memcached Client  只能和 .net 3.5 或者是以上的版本一起使用,而不支持.net 2.0 因为他有些地方用的是 linq

但是很奇怪的是,客户端 Memcached Providers 1.2 for .net 2.0的版本里面 也是包含 enyim.com Memcached Client 的,为什么这个又能用net 2.0呢?

于是我把 Memcached Providers 1.2 for .net 2.0的版本里面的enyim.com Memcached Client  直接拿来用了一下,发现运行起来是报错的,所以在 .net 2.0下面,暂时还用不了,或者说,我还没下载到正确的对应的版本? 

( 更新:在文章的下面,已经找到了既可以支持2.0又支持3.5的dll文件了)

 

 

 

下载地址    应该是3.5的

下载完成之后,如是样子

去bin文件夹,拿到刚才生成的  Enyim.Caching.dll  (也需要 log4net.dll )

复制到你的实际的项目中的bin文件夹,引用

在实际操作中,上面的一步步流程,我可耻的失败了····  在.net 2.0 也报错,在.net 3.5 也报错

 

后面我又找到了一个别人修改过的版本,我发现既可以在.net 2.0下使用,又可以在 .net 3.5下使用的 dll

 

我自己写了一个既可以用在net 2.0又可以3.5的例子,然后也给出一下我参考的一个实例

1:我自己的例子 

2:我参考的实例 

 

如果需要 MemcachedProviders for .net 2.0 的客户端的实例 

 

下面是我写的一个实例的截图(注意,不管是 Enyim.Caching 还是 MemcachedProviders ,都是需要 log4net 的)

需要用的一个“人”类,用来存放数据

using System;using System.Collections.Generic;using System.Web;using System.Collections;namespace My_Enyim.Caching{        /// 测试用的人类    ///     ///     [Serializable]  //注意,一定要加 序列化    public class Person    {        public string Id { set; get; }        public string Username { set; get; }    }}

前台代码

请输入用户ID
修改值:

后台代码

using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Enyim.Caching;//引用using Enyim.Caching.Memcached;//引用namespace My_Enyim.Caching{    public partial class _Default : System.Web.UI.Page    {        MemcachedClient mc = new MemcachedClient();        List
listp = new List
{ }; protected void Page_Load(object sender, EventArgs e) { //初始化几个人 for (int i = 0; i < 10; i++) { listp.Add(new Person() { Id = "joey_" + i.ToString() + "_投票", Username = "随便什么值" + i }); } } protected void Search(object sender, EventArgs e) { string id = txtId.Text.Trim(); string newVal = txtNew.Text.Trim(); Person per = null; for (int i = 0; i < listp.Count; i++) { if (listp[i].Id == id) { per = listp[i]; TimeSpan time= new TimeSpan(0,1,0); //1分钟 //如果缓存不存在,我们就把person这个实体放进去 if (mc.Get(per.Id) == null) { //存值 不带过期时间的存储,Memcached将根据LRU来决定过期策略 // 带过期时间的缓存,会根据过期时间来失效 //StoreMode.Set如果不存在, 则添加,如果已经存在,则覆盖 mc.Store(StoreMode.Set, per.Id, per, time); //mc.Store(StoreMode.Set,per.Id,DateTime.Now.AddMinutes(10)); //也可以这样来表示10分钟到期 litType.Text = "从数据库读,并增加到缓存"; litResult.Text = per.Username; } else { if (!string.IsNullOrEmpty(newVal)) { per.Username = newVal; mc.Store(StoreMode.Set, per.Id, per, time);//同样的key,再次添加,实际是更新值 txtNew.Text = ""; } litType.Text = "从缓存来读"; Person temp = (Person)mc.Get(per.Id); litResult.Text = temp.Username; } } } } //清空缓存 protected void btnClear_Click(object sender, EventArgs e) { mc.FlushAll(); litType.Text = ""; litResult.Text = "清除所有缓存"; } }}

转载地址:http://vuybm.baihongyu.com/

你可能感兴趣的文章
怎样轻松几步将视频转换成GIF
查看>>
ECS应用管理最佳实践
查看>>
12.throw和throws是的区别
查看>>
福建海峡银行使用ManageEngine统一管控业务应用系统
查看>>
ssh访问与控制
查看>>
皆大欢喜!iPhone不再耗电,续航增加就靠它
查看>>
编写脚本 sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的 ID之和
查看>>
宇宙沸腾SCCM 2012 R2系列(10)OSD操作系统部署(二)- 添加和分发系统映像包
查看>>
grub加密
查看>>
vim中高级技巧
查看>>
centos7+VMware Workstation创建共享文件夹
查看>>
1.10版的Django对应的后台编辑器DjangoUeditor
查看>>
蓝桥杯 【基础练习】 十六进制转十进制
查看>>
关于四则运算表达式分析思路
查看>>
OC基础第三讲
查看>>
数据库发布订阅:发送邮件
查看>>
更改XML文件内容(发票管理软件)
查看>>
(八)Java 修饰符
查看>>
专家揭秘:STM32启动过程全解
查看>>
解决scrapy报错:ModuleNotFoundError: No module named 'win32api'
查看>>