Memcached下载、安装及使用演示。
Memcached下载及安装: 下载地址: memcached-1.4.5-amd64.zip
================================================
通过cmd命令行进入到D:\Memcached(下载后的解压目录)
运行Memcached.exe -d install 安装为服务 如果出现“安装失败或者已经安装了的”英文提示,以管理员身份运行C:\Windows\System32\cmd.exe文件安装memcached
可以使用 TelNet 测试 Memcached 是否正常!
命令:cmd→ telnet 127.0.0.1 11211
常用设置:
-p <num> 监听的端口
-l <ip_addr> 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装Memcached服务
-d uninstall 卸载memcached服务
-u <username> 以<username>的身份运行 (仅在以root运行的时候有效)
-m <num> 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c <num> 最大同时连接数,默认是1024
-f <factor> 块大小增长因子,默认是1.25
-n <bytes> 最小分配空间,key+value+flags默认是48
-h 显示帮助
================================================
Memcached .Net 客户端调用:
================================================
一、 Memcached 客户端类库
其中,客户端类库包括以下几个DLL:(NuGet 直接下载)
Memcached.ClientLibrary.1.0.zip
ICSharpCode.SharpZipLib.dll.0.85.4.369.zip
log4net.2.0.8.zip
把这个三个 DLL 放入Bin 目录,在项目中引用 Memcached.ClientLibrary.dll
使用时 引入命名空间 using Memcached.ClientLibrary
二、Memcached使用了log4net,所以我们先配置log4net (这个环节可以 不做 )
<configuration> <configSections> <!--Log4net的块配置--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <!--Log4net配置的节点--> <log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --> <!-- Set root logger level to ERROR and its appenders --> <root> <level value="ERROR"/> <appender-ref ref="SysAppender"/> </root> <!-- Print only messages of level DEBUG or above in the packages --> <logger name="WebLogger"> <level value="DEBUG"/> </logger> <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" > <param name="File" value="App_Data/" /> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> <param name="日志开始" value=" ----------------------header-------------------------- " /> <param name="日志结束" value=" ----------------------footer-------------------------- " /> </layout> </appender> <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> </appender> </log4net>
三、初始化SockIOPool
SockIOPool是Memcached客户端提供的一个套接字连接池,通俗讲,就是与Memcached服务器端交换数据的对象。SockIOPool在应用程序启动时初始化一次就可以了
(一般写在 静太构造 里就行了)
//分布Memcachedf服务IP 端口 string[] servers = { "192.168.1.100:11211", "192.168.1.101:11211" }; //初始化池 SockIOPool pool = SockIOPool.GetInstance(); pool.SetServers(servers); 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 Memcached.ClientLibrary.MemcachedClient(); mc.EnableCompression = false; //添加 mc.Add("keyName", "ValueObject"); mc.Add("keyName", "ValueObject", DateTime.Now.AddDays(1));
//Get,Delete,Set...