Memcached缓存在.Net 中的使用(memcacheddotnet)
缓存对于提高大数据量的网站性能无疑不是一个很好的解决方案,针对缓存的使用网上同仁介绍很多,再次我仅仅分享一下自己对Memcached使用的简单介绍。Memchached的使用通过第三方DLL来完成,常用的第三方类库如下:memcacheddotnet、EnyimMemcached。这里主要介绍memcacheddotnet,代码下载 DLL下载 自定义Demo1下载 官方Demo2下载 。
windows memcached下载 memchaced的配置,这里不做解释,网上同仁写的很详细;
针对Memchaced分布式缓存,memcacheddotnet也封装了相应的方法,详细使用可以参考官方Demo2中的内容;
使用方式也特别方便,举出部分主要代码如下
class Program { static void Main(string[] args) { SockIOPool pool = SockIOPool.GetInstance(); string[] servers = { "127.0.0.1:11211" }; pool.SetServers(servers); pool.MinConnections = 3; pool.MaxConnections = 5; pool.InitConnections = 3; pool.SocketConnectTimeout = 5000; pool.Initialize(); MemcachedClient client = new MemcachedClient(); client.EnableCompression = false; Console.WriteLine("----------------------------Set-----------"); client.Set("key1", "value1"); Console.WriteLine(client.Get("key1")); Console.WriteLine("---------------------------replay---------"); client.Replace("key1", "Replay new Key1"); Console.WriteLine(client.Get("key1")); Console.WriteLine("---------------------------键值是否存在----"); if (client.KeyExists("key2")) { Console.WriteLine("key2存在"); } else { Console.WriteLine("key2不存在,设置新值"); client.Set("key2", "New key2"); } Console.WriteLine("-------------------------删除数据--------"); client.Delete("key2"); Console.WriteLine("删除之后的数据: " + client.Get("key2")); Console.WriteLine("-------------------------数据过期--------"); client.Add("key3", "新数据三内容", DateTime.Now.AddMilliseconds(5000)); Console.WriteLine(client.Get("key5")); System.Threading.Thread.Sleep(6000); Console.WriteLine("过期: "+ client.Get("key5")); Console.ReadLine(); } }
Memcached 安装配置:
1. 安装memcached:
c:\memcached> memcached.exe -d install
2. 启动memcached:
c:\memcached> memcached.exe -d start
(之后屏幕无任何提示,但是在“任务管理器”中勾选“显示所有用户进程”,此时可以看到memcached.exe进程正在运行)
默认端口11211,外部访问需要开放该端口,否则无法成功连接。
3. memcached基本参数设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
设置参数时需要先停止memcached,然后用命令行设置,比如:c:\memcached> memcached.exe -m 1 -d start
4. 停止memcached:
c:\memcached> memcached.exe -d stop
5. 卸载memcached:
c:\memcached> memcached.exe -d uninstall
几篇不错的博客文章,推荐一下:
http://www.cnblogs.com/qingyuan/archive/2011/01/17/1937855.html
http://www.cnblogs.com/hsapphire/archive/2009/12/25/1632179.html
另外还有一篇缓存的误区:
http://kb.cnblogs.com/page/138696/
Memcached 安装配置:
http://www.cnblogs.com/jiajinyi/p/3531381.html