Memcached 安装和客户端配置

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

服务端安装:

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

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

Memcached 安装和客户端配置

3:安装Memcached 

用cmd 进到C:\memcache

输入 memcached.exe -d install 安装memcached

输入 memcached.exe -d start 启动memcached

memcached.exe -help 查询帮助

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

先确保windows telnet 服务已启用

Memcached 安装和客户端配置

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

输入下面命令:

set name 0 0 7 回车

zhangrh  回车

会提示stored

get name 回车

会返回原来的值

Memcached 安装和客户端配置

客户端配置:

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

Memcached 安装和客户端配置

使用这个客户端还先需要配置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 就操作完成了。

你可能感兴趣的:(memcached)