zoukankan      html  css  js  c++  java
  • 分布式缓存系统Memcached简介与实践

    一 Memcached服务器端的安装 (此处将其作为系统服务安装)

      下载文件:memcached 1.2.1 for Win32 binaries (Dec 23, 2006)

      1 解压缩文件到c:memcached

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

      3 命令行输入 'c:memcachedmemcached.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 代码

    1namespaceMemcached.MemcachedBench
    2{
    3  usingSystem;
    4  usingSystem.Collections;
    5
    6  usingMemcached.ClientLibrary;
    7
    8  publicclassMemcachedBench
    9  {
    10    [STAThread]
    11    publicstaticvoidMain(String[]args)
    12    {
    13      string[]serverlist={"10.0.0.131:11211","10.0.0.132:11211"};
    14
    15      //初始化池
    16      SockIOPoolpool=SockIOPool.GetInstance();
    17      pool.SetServers(serverlist);
    18
    19      pool.InitConnections=3;
    20      pool.MinConnections=3;
    21      pool.MaxConnections=5;
    22
    23      pool.SocketConnectTimeout=1000;
    24      pool.SocketTimeout=3000;
    25
    26      pool.MaintenanceSleep=30;
    27      pool.Failover=true;
    28
    29      pool.Nagle=false;
    30      pool.Initialize();
    31
    32      //获得客户端实例
    33      MemcachedClientmc=newMemcachedClient();
    34      mc.EnableCompression=false;
    35
    36      Console.WriteLine("------------测 试-----------");
    37      mc.Set("test","myvalue"); //存储数据到缓存服务器,这里将字符串"myvalue"缓存,key是"test"
    38
    39      if(mc.KeyExists("test")) //测试缓存存在key为test的项目
    40      {
    41        Console.WriteLine("testisExists");
    42        Console.WriteLine(mc.Get("test").ToString()); //在缓存中获取key为test的项目
    43      }
    44      else
    45      {
    46        Console.WriteLine("testnotExists");
    47      }
    48
    49      Console.ReadLine();
    50
    51      mc.Delete("test"); //移除缓存中key为test的项目
    52
    53      if(mc.KeyExists("test"))
    54      {
    55        Console.WriteLine("testisExists");
    56        Console.WriteLine(mc.Get("test").ToString());
    57      }
    58      else
    59      {
    60        Console.WriteLine("testnotExists");
    61      }
    62      Console.ReadLine();
    63      
    64      SockIOPool.GetInstance().Shutdown(); //关闭池,关闭sockets
    65    }
    66  }
    67}

      4 运行结果

    分布式缓存系统Memcached简介与实践

      后记: 是个不错的东西 ,使用起来也很方便,php ,ruby 的项目中用这个的很多,但是.net项目中用的较少(恕俺孤陋寡闻) 。希望有兴趣的朋友们 多多交流 。

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/luluping/p/1375497.html
Copyright © 2011-2022 走看看