• Memcached 安装和客户端配置


    windows  .NET 环境下Memcached 安装和客户端配置

    服务端安装:

    1:下载windows 版的Memcached 网上找链接

    2:解压到某个磁盘C:memcache

    3:安装Memcached 

    用cmd 进到C:memcache

    输入 memcached.exe -d install 安装memcached

    输入 memcached.exe -d start 启动memcached

    memcached.exe -help 查询帮助

    4:telnet 连接到服务端进行测试

    先确保windows telnet 服务已启用

    在cmd 中输入telnet 127.0.0.1 11211 连接到服务端 

    输入下面命令:

    set name 0 0 7 回车

    zhangrh  回车

    会提示stored

    get name 回车

    会返回原来的值

    客户端配置:

    下面用到的是memcacheddotnet C#版——网上找链接。下载后需要在project 中引用下面几个DLL

    使用这个客户端还先需要配置log4net。

    在这里我是新建了一个WEB 应用程序。

    web.config 加入如下配置

    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
      </configSections>
      <log4net>
        <!-- Define some output appenders -->
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="log" />
          <param name="AppendToFile" value="true" />
          <param name="MaxSizeRollBackups" value="10" />
          <param name="MaximumFileSize" value="5MB" />
          <param name="RollingStyle" value="Date" />
          <param name="DatePattern" value="yyyyMMdd'.txt'"/>
          <param name="StaticLogFileName" value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <!--<threshold value="OFF" />-->
        <!-- Setup the root category, add the appenders and set the default priority -->
        <root>
          <priority value="WARN"/>
          <level value="ALL"/>
          <appender-ref ref="RollingFileAppender">
          </appender-ref>
        </root>
      </log4net>
      <system.web>
        <compilation debug="true" targetFramework="4.0" />
      </system.web>
    </configuration>
    View Code

    可以先尝试一个log4net 是否配置成功

     1  public class Log
     2     {
     3         private static readonly ILog log = LogManager.GetLogger(typeof(Log));
     4 
     5         public static void Configure()
     6         {
     7             //启用log
     8             log4net.Config.XmlConfigurator.Configure();
     9         }
    10 
    11         public static void LogInfo(string message)
    12         {
    13             if (log.IsInfoEnabled)
    14             {
    15                 log.Info(message);
    16             }
    17         }
    18         public static void LogError(string message, Exception ex)
    19         {
    20             if (log.IsErrorEnabled)
    21             {
    22                 log.Error(message, ex);
    23             }
    24         } 
    25 
    26     }
    View Code
    1 Log.Configure(); 
    2 Log.LogInfo("写一条日志");

    如果配置成功,会在站点的根目录的log 文件夹里写入一个日志文件。

    然后正真使用memcached 客户端

    前先初始化SockIOPool 初始化一次即可 ,这次服务器只有一台。这个客户端也没有实现 consistent hashing

     1  public class MemcachedPorvider
     2     {
     3         
     4         static MemcachedPorvider()
     5         {
     6             //初始化SockIOPool
     7             string[] serverlist = { "127.0.0.1:11211" };
     8             // initialize the pool for memcache servers
     9             SockIOPool pool= SockIOPool.GetInstance();
    10             pool.SetServers(serverlist);
    11             
    12 
    13             pool.InitConnections = 3;
    14             pool.MinConnections = 3;
    15             pool.MaxConnections = 5;
    16 
    17             pool.SocketConnectTimeout = 1000;
    18             pool.SocketTimeout = 3000;
    19 
    20             pool.MaintenanceSleep = 30;
    21             pool.Failover = true;
    22 
    23             pool.Nagle = false;
    24             pool.Initialize();
    25         }
    26         private MemcachedPorvider()
    27         {
    28 
    29         }
    30 
    31         public static bool Set(string key, object value)
    32         {
    33             MemcachedClient mc = new MemcachedClient();
    34             mc.EnableCompression = false;
    35             return mc.Set(key, value, DateTime.Now.AddDays(319));
    36         }
    37         public static object Get(string key)
    38         {
    39             MemcachedClient mc = new MemcachedClient();
    40             mc.EnableCompression = false;
    41             return mc.Get(key);
    42         }
    43     }
    View Code
    1 MemcachedPorvider.Set("key1", new List<int> { 1, 2 });
    2 List<int> list= MemcachedPorvider.Get("key1") as List<int>;
    View Code

     调试一下,一个memcached get 和 set 就操作完成了。

  • 相关阅读:
    windows用户管理与远程管理
    Linux之基础网络配置
    linux之程序包管理
    linux之特殊权限
    设计模式学习笔记——Prototype原型模式
    设计模式学习笔记——Visitor 访问者模式
    XXX is not a function
    终于决定要开始写自己的博客了,先Mark一下
    element ui 与vue跨域通信操作 和框架语法,contentype
    跨域与版本控制
  • 原文地址:https://www.cnblogs.com/zrhai/p/4015980.html
Copyright © 2020-2023  润新知