rh007 发表于 2015-9-2 09:49:29

使用 Memcached

一 Memcached服务器端的安装 (此处将其作为系统服务安装)
下载文件:memcached 1.2.1 for Win32 binaries (Dec 23, 2006)
   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 代码
Code
namespace Memcached.MemcachedBench
{
   using System;
   using System.Collections;

   using Memcached.ClientLibrary;

   public class MemcachedBench
   {
         
         public static void Main(String[] args)
         {
             string[] serverlist = { "10.0.0.131:11211", "10.0.0.132: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();//关闭池, 关闭sockets
         }
   }
}
页: [1]
查看完整版本: 使用 Memcached