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(); }
留下您的脚步
最近评论