本文来自:http://li19910722.blog.163.com/blog/static/136856822201406103313163/
1;安装
下载Memcache:http://code.jellycan.com/Memcache/
将服务程序拷贝到一个磁盘上的目录,同时将CMD命令窗口也复制到该文件夹下面
安装服务:cmd→Memcached.exe -d install 打开服务监控窗口可以查看服务是否启动。
或者改为:.\Memcached.exe -d install
启动服务:cmd→Memcached.exe -d start(restart重启,stop关mem闭服务)
检查服务是否启动:连接到Memcache控制台:telnet 127.0.0.1 11211 输入命令:stats检查当前服务状态。
卸载服务:Memcached.exe -d uninstall
遇到问题:
1;win8下安装服务。无法启动此程序,因为计算机中丢失 MSVCR71.dll。尝试重新安装该程序以解决此问题。下载dll地址:http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71
2;关于无法用Telnet:
是这样的,Win7默认没有安装telnet功能,所以你直接用telnet命令是用不了的;
你可以去“控制面板”--》“程序和功能”(在左下角)---》“打开或关闭Windows功能”,勾上“telnet客户端”,确定就可以正常使用telnet命令了
2;
添加一条数据: add key 0 30 10 --表示失效时间为30s,长度为10 或 set key 0 30 10 --添加一条数据 得到一条数据 get key |
3; 如何使用C#操作Memcached:
- 添加引用
- 写代码
MemcachedHelp类: -
public class MemcachedHelper{
/// <summary>
/// 定义一个静态MemcachedClient客户端,它随类一起加载,所有对象共用
/// </summary>
private static MemcachedClient mc;
/// <summary>
/// 静态构造函数,初始化Memcached客户端
/// </summary>
static MemcachedHelper()
{
string[] serverList = { "127.0.0.1:11211" };
SockIOPool pool = SockIOPool.GetInstance("test");
pool.SetServers(serverList);
pool.Initialize();
mc = new MemcachedClient();
mc.PoolName = "test";
mc.EnableCompression = false;
}
/// <summary>
/// 向Memcached缓存中添加一条数据
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <param name="expiry">过期时间</param>
/// <returns>返回是否添加成功</returns>
public static bool SetValue(string key, object value, DateTime expiry)
{
return mc.Set(key, value, expiry);
}
/// <summary>
/// 通过key 来得到一个对象
/// </summary>
/// <param name="key">键</param>
/// <returns>对象</returns>
public static object GetValue(string key)
{
return mc.Get(key);
}
}
4;测试:
/// <summary>
/// 向Memcached中添加一条数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAddMemCached_Click(object sender, EventArgs e)
{
if (MemcachedHelper.SetValue("name", "licong", DateTime.Now.AddMinutes(1)))
{
MessageBox.Show("数据添加成功");
}
object obj = MemcachedHelper.GetValue("name");
MessageBox.Show(obj.ToString());
}