.NET(C#)下操作Memcahed

转载 2018年01月30日 20:27:40

一:Memcached的安装

step1. 下载memcache(http://www.runoob.com/memcached/window-install-memcached.html)的windows稳定版,解压放某个盘下面,比如在c:\memcached
step2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
step3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。

 PS: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

二: .NET memcached client library
下载文件:https://sourceforge.net/projects/memcacheddotnet/

   将Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录
   引用Memcached.ClientLibrary.dll

程序

using System;
using System.Collections;
using Memcached.ClientLibrary;
using System.Text;

namespace Memcache
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request["action"] == "clear")
                    this.clear();
                else
                    this.test();
            }
        }

        public void clear()
        {
            string[] servers = { "192.168.1.113:11211", "192.168.202.128:11211" };

            //初始化池
            SockIOPool pool = SockIOPool.GetInstance();
            pool.SetServers(servers);
            pool.InitConnections = 3;
            pool.MinConnections = 3;
            pool.MaxConnections = 5;
            pool.SocketConnectTimeout = 1000;
            pool.SocketTimeout = 3000;
            pool.MaintenanceSleep = 30;
            pool.Failover = true;
            pool.Nagle = false;
            pool.Initialize();
            MemcachedClient mc = new Memcached.ClientLibrary.MemcachedClient();
            mc.EnableCompression = false;
            mc.Delete("cache");
            mc.Delete("endCache");
            Response.Write("清空缓存成功");
        }


        public void test()
        {
            //分布Memcachedf服务IP 端口
            string[] servers = { "192.168.1.113:11211", "192.168.202.128:11211" };

            //初始化池
            SockIOPool pool = SockIOPool.GetInstance();
            pool.SetServers(servers);
            pool.InitConnections = 3;
            pool.MinConnections = 3;
            pool.MaxConnections = 5;
            pool.SocketConnectTimeout = 1000;
            pool.SocketTimeout = 3000;
            pool.MaintenanceSleep = 30;
            pool.Failover = true;
            pool.Nagle = false;
            pool.Initialize();
            //客户端实例
            MemcachedClient mc = new Memcached.ClientLibrary.MemcachedClient();
            mc.EnableCompression = false;
            StringBuilder sb = new StringBuilder();
            //写入缓存
            sb.AppendLine("写入缓存测试:");
            sb.AppendLine("<br>_______________________________________<br>");
            if (mc.KeyExists("cache"))
            {
                sb.AppendLine("缓存cache已存在");
            }
            else
            {
                mc.Set("cache", "写入缓存时间:" +DateTime.Now.ToString());
                sb.AppendLine("缓存已成功写入到cache");
            }
            sb.AppendLine("<br>_______________________________________<br>");
            sb.AppendLine("读取缓存内容如下:<br>");
            sb.AppendLine(mc.Get("cache").ToString());

            //测试缓存过期
            sb.AppendLine("<br>_______________________________________<br>");
            if (mc.KeyExists("endCache"))
            {
                sb.AppendLine("缓存endCache已存在,过期时间为:" +  mc.Get("endCache").ToString());
            }
            else
            {
                mc.Set("endCache", DateTime.Now.AddMinutes(1).ToString(), DateTime.Now.AddMinutes(1));
                sb.AppendLine("缓存已更新写入到endCache,写入时间:" + DateTime.Now.ToString()  +" 过期时间:" +  DateTime.Now.AddMinutes(1).ToString());
            }

            //分析缓存状态
            Hashtable ht = mc.Stats();
            sb.AppendLine("<br>_______________________________________<br>");
            sb.AppendLine("Memcached Stats:");
            sb.AppendLine("<br>_______________________________________<br>");
            foreach (DictionaryEntry de in ht)
            {
                Hashtable info = (Hashtable)de.Value;
                foreach (DictionaryEntry de2 in info)
                {
                    sb.AppendLine(de2.Key.ToString() + ":&nbsp;&nbsp;&nbsp;&nbsp;" + de2.Value.ToString() + "<br>");
                }
            }
            Response.Write(sb.ToString());
        }
    }
}

日常总结

1.当点击前端按钮的时候他没有反应 后台控制台也没有反应的时候解决方法 按F12这样可以快速锁定是哪个文件出错了 今天我就是点击登录没有反应,后台也没有报错 最后通过这种方法发现时user.js文件出...
  • freshman____
  • freshman____
  • 2018-04-03 20:40:30
  • 9

日常问题总结

日常问题总结 遇到SDWebImage (~&amp;gt; 4.0.0)required byPodfile` 工程Target-General-Deployment Target 需要设...
  • shaokang5532
  • shaokang5532
  • 2017-11-22 11:08:59
  • 180

Membase,Memcached,Couchbase1.8 C#/.NET 简单调用 操作

一直在跟关系型数据打交道,难免有些想法,因此就对NoSQL感兴趣了,在众多的开源数据库中还是选择了Membase。 具体的安装文档可以按照 http://blog.csdn.net/qq4157...
  • qq415734794
  • qq415734794
  • 2012-08-14 17:27:27
  • 3506

Memcached的使用与CAS命令

Memcached的前台启动 memcached -p 11211 -m 64m -vv -u root 作为daemon后台启动 mem...
  • ZX714311728
  • ZX714311728
  • 2017-05-14 17:22:31
  • 440

看过的最好的护肤心得

第一次看到这贴是在瑞丽,今天在花窝又见,真的太强了,转来和大家分享草草是80年年中的,19岁开始护肤,算算真的有6年了。老爸老妈皮肤一般,草草应该是没有所谓的天生丽质的基因,曾有过两个极端的错误护肤经...
  • zzzz2008
  • zzzz2008
  • 2006-01-17 14:01:00
  • 5827

日常问题总结 一

#堆和栈的区别 栈是编译期间就分配好的空间,因此在代码中必须就栈的大小有明确的定义。局部值类型变量、值类型参数等都在栈内存中。堆是程序运行期间动态分配的内存空间,可以根据程序的运行情况调整分配的堆内...
  • zhixin9001
  • zhixin9001
  • 2017-07-20 22:26:29
  • 58

在Windows .NET平台下使用Memcached

网上关于Memcached的文章很多,但据我观察,大多是互相转载或者抄袭的,千篇一律。有些则是直接整理的一些超链接然后贴出来。那些超链接笔者大概都进去看了,其实关于Memcached的中文的技术文章,...
  • dinglang_2009
  • dinglang_2009
  • 2011-10-29 23:31:30
  • 21777

tomcat+memcahed 缓存

JSP(全称JavaServerPages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页...
  • fanan1995
  • fanan1995
  • 2017-05-19 23:39:26
  • 296

日常学习总结

3月9日一、使用linux,并完成安装redis。./redis-server                                   port:6379,PID:35854二、安装doc...
  • u012706626
  • u012706626
  • 2018-03-12 14:42:30
  • 10

分布式缓存系统Memcached在Asp.net下的应用

站下的session性能并不高,所以造成人们一种印象,大型WEB项目使用JAVA的错觉,致使很多人吐槽微软不给力,其实这好比拉不出怪地球引力,本文介绍Memcached在ASP.net Web项目中的...
  • wanlong360599336
  • wanlong360599336
  • 2015-07-02 16:53:20
  • 3030
收藏助手
不良信息举报
您举报文章:.NET(C#)下操作Memcahed
举报原因:
原因补充:

(最多只允许输入30个字)