1. 下载memcache(http://jehiah.cz/projects/memcached-win32)的windows稳定版http://jehiah.cz/projects/memcached-win32/files/memcached-1.2.1-win32.zip
2. 解压,把memcached.exe放到c:\windows\system32目录下,然后打开命令行窗口输入下面命令
c:
cd \windows\system32
memcached.exe -d install
memcached.exe -d start 该命令启动 Memcached,默认监听端口为 11211
3. 下载 Memcached Clienthttp://enyimmemcached.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=13095
配置config文件
这里的port:11211是, memcached-1.2.1-win32在安装时默认使用的port.当然你可以用memcached.exe-p端口号来自行设置。
第二步,新建TestMemcachedApp的console project
引用Enyim.Caching.dll
基础代码如下:
//create a instance ofMemcachedClient
MemcachedClient mc = new MemcachedClient();
// store a string in the cache
mc.Store(StoreMode.Set, "MyKey", "Hello World");
// retrieve the item from the cache
Console.WriteLine(mc.Get("MyKey"));
完整代码如下,
using System;
using System.Collections.Generic;
using System.Text;
using Enyim.Caching;
using Enyim.Caching.Memcached;
using System.Net;
using Enyim.Caching.Configuration;
namespace DemoApp
{
class Program
{
static void Main(string[] args)
{
// create a MemcachedClient
// in your application you can cache the client in a static variable or justrecreate it every time
MemcachedClient mc = new MemcachedClient();
// store a string in the cache
mc.Store(StoreMode.Set, "MyKey", "Hello World");
// retrieve the item fromthe cache
Console.WriteLine(mc.Get("MyKey"));
// store some other items
mc.Store(StoreMode.Set, "D1", 1234L);
mc.Store(StoreMode.Set, "D2", DateTime.Now);
mc.Store(StoreMode.Set, "D3", true);
mc.Store(StoreMode.Set, "D4", new Product());
mc.Store(StoreMode.Set,"D5", new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
Console.WriteLine("D1: {0}", mc.Get("D1"));
Console.WriteLine("D2: {0}", mc.Get("D2"));
Console.WriteLine("D3: {0}", mc.Get("D3"));
Console.WriteLine("D4: {0}", mc.Get("D4"));
byte[] tmp =mc.Get
// delete them from thecache
mc.Remove("D1");
mc.Remove("D2");
mc.Remove("D3");
mc.Remove("D4");
// add an item which isvalid for 10 mins
mc.Store(StoreMode.Set, "D4", new Product(), new TimeSpan(0, 10, 0));
Console.ReadLine();
}
// objects must beserializable to be able to store them in the cache
[Serializable]
class Product
{
public double Price = 1.24;
public string Name = "Mineral Water";
public override stringToString()
{
return String.Format("Product {{{0}: {1}}}", this.Name, this.Price);
}
}
}
}
下载memcached服务安装地址:http://www.danga.com/memcached/
Client API下载地址:http://www.danga.com/memcached/apis.bml