缓存对于提高大数据量的网站性能无疑不是一个很好的解决方案,针对缓存的使用网上同仁介绍很多,再次我仅仅分享一下自己对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(); } }
几篇不错的博客文章,推荐一下:
http://www.cnblogs.com/qingyuan/archive/2011/01/17/1937855.html
http://www.cnblogs.com/hsapphire/archive/2009/12/25/1632179.html
Memcached缓存在.Net 中的使用(memcacheddotnet)
原文:http://www.cnblogs.com/xibei666/p/4863604.html