1、Memcached读作“麦目卡吃的”。
2、Memcached因为简单,所以快,和redis相比,他的功能并没有那么多,也不支持持久化,最长缓存30天。对外端口是11211。
3、windows下载安装。
cmd进入memcache文件目录
安装:memcached.exe -d install
启动:memcached.exe -d start
停止:memcached.exe -d stop
卸载:memcached.exe -d uninstall
ps,因为win环境的memcache是以服务形式安装的,因此测试卸载时候需先执行停止然后才能卸载
4、搭建一个.NET的项目,引用EnyimMemcached 2.16.0

5、配置一下config
<configuration> <configSections> <sectionGroup name="enyim.com"> <section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" /> </sectionGroup> </configSections> <enyim.com> <memcached protocol="Text"> <servers> <add address="127.0.0.1" port="11211" /> <add address="192.168.20.35" port="11211" /> </servers> <socketPool minPoolSize="10" maxPoolSize="20" connectionTimeout="00:00:10" deadTimeout="00:02:00" /> </memcached> </enyim.com> </configuration>
6、编写一个MemCachedHelper.cs
using System;
using Enyim.Caching;
using Enyim.Caching.Memcached;
namespace ConsoleApp1.comm
{
/// <summary>
/// Class MemCachedHelper.
/// </summary>
public class MemCachedHelper
{
/// <summary>
/// The unique instance
/// </summary>
private static readonly MemcachedClient UniqueInstance = new MemcachedClient();
/// <summary>
/// 添加缓存
/// </summary>
/// <param name="key">缓存key</param>
/// <param name="value">The value.</param>
/// <param name="timeout">超时时间,超30天则无效,可能不会报错,只是读不到</param>
/// <returns>如果不存在返回true,如存在返回false</returns>
public static bool Add(string key, object value, TimeSpan timeout)
{
return UniqueInstance.Store(StoreMode.Add, key, value, timeout);
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="key">缓存key</param>
/// <param name="value">The value.</param>
/// <param name="timeout">过期时间,超30天则无效</param>
/// <returns>如果不存在则加入,如果存在则更新,操作成功都会返回true</returns>
public static bool Set(string key, object value, TimeSpan timeout)
{
return UniqueInstance.Store(StoreMode.Set, key, value, timeout);
}
/// <summary>
/// 获取缓存
/// </summary>
/// <param name="key">缓存key</param>
public static T Get<T>(string key)
{
return UniqueInstance.Get<T>(key);
}
/// <summary>
/// 获取缓存
/// </summary>
/// <param name="key">缓存key</param>
public static object Get(string key)
{
return UniqueInstance.Get(key);
}
/// <summary>
/// 删除缓存
/// </summary>
/// <param name="key">缓存key</param>
public static bool Remove(string key)
{
return UniqueInstance.Remove(key);
}
}
}7、调用示例
static void Main(string[] args)
{
bool ret = MemCachedHelper.Set("test1", "1111", new TimeSpan(0, 0, 300));
bool ret1 = MemCachedHelper.Set("test1", "11112", new TimeSpan(0, 0, 300));
var val = MemCachedHelper.Get("test1");
Console.WriteLine(val);
Console.ReadKey();
}
川公网安备 51010702003150号
留下您的脚步
最近评论