zoukankan      html  css  js  c++  java
  • 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 就操作完成了。

  • 相关阅读:
    android 75 新闻列表页面
    android 74 下载文本
    android 73 下载图片
    android 72 确定取消对话框,单选对话框,多选对话框
    android 71 ArrayAdapter和SimpleAdapter
    android 70 使用ListView把数据显示至屏幕
    maven如何将本地jar安装到本地仓库
    Centos6.7搭建ISCSI存储服务器
    解决maven打包编译出现File encoding has not been set问题
    MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)
  • 原文地址:https://www.cnblogs.com/zrhai/p/4015980.html
Copyright © 2011-2022 走看看