首页 > 技术文章 > Memcached下载安装、NET对Memcached进行CRUD操作(2)

yinrq 2015-07-30 20:35 原文

Memcached概念、作用、运行原理、特性、不足简单梳理(1)

Memcached下载安装、NET对Memcached进行CRUD操作(2)

Memcached存Session数据、访问安全性、使用场景总结(3)

一.安装服务端:

服务端:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip

64:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

1. 解压缩文件到c:\memcached

2. 命令行输入 'c:\memcached\memcached.exe -d install' 

3. 命令行输入 'c:\memcached\memcached.exe -d start' ,该命令启动 Memcached ,默认监听端口为 11211
  通过 memcached.exe -h 可以查看其帮助

 

安装可能出出现的问题:

如果出现上图的问题:

1种情况是找到cmd.exe 右键管理员的身份运行就可以了

2是去服务那里看看是不是已经安装了

二.下载客户端

客户端:http://sourceforge.net/projects/memcacheddotnet/

三.CURD简单操作

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

2. 引用Memcached.ClientLibrary.dll

代码:

using System;
using Memcached.ClientLibrary;

namespace MemberCache
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] serverlist = { "127.0.0.1:11211", "127.0.0.1:11211" };

            //初始化池
            SockIOPool pool = SockIOPool.GetInstance();
            pool.SetServers(serverlist);

            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 MemcachedClient();
            mc.EnableCompression = false;

            Console.WriteLine("------------测  试-----------");
            mc.Set("test", "my value");  //存储数据到缓存服务器,这里将字符串"my value"缓存,key 是"test"

            if (mc.KeyExists("test"))   //测试缓存存在key为test的项目
            {
                Console.WriteLine("test is Exists");
                Console.WriteLine(mc.Get("test").ToString());  //在缓存中获取key为test的项目
            }
            else
            {
                Console.WriteLine("test not Exists");
            }

            Console.ReadLine();

            mc.Delete("test");  //移除缓存中key为test的项目

            if (mc.KeyExists("test"))
            {
                Console.WriteLine("test is Exists");
                Console.WriteLine(mc.Get("test").ToString());
            }
            else
            {
                Console.WriteLine("test not Exists");
            }
            Console.ReadLine();
            SockIOPool.GetInstance().Shutdown();

        }
    }
}

运行结果:

  

推荐阅读