在VS中安装Memcached,直接在NuGet下搜索Memcached,选择第一个进行安装:

服务端资源下载地址:https://pan.baidu.com/s/1gf3tupl

接下来开始写程序,老规矩,直接上代码:

    public class Memcached : ICache
{
private static readonly MemcachedClient CacheClient = new MemcachedClient(); /// <summary>
/// 获取缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="cacheKey"></param>
/// <returns></returns>
public T GetCache<T>(string cacheKey) where T : class
{
try
{
return (T)CacheClient.Get(cacheKey);
}
catch
{
return default(T);
}
} /// <summary>
/// 写入缓存,过期时间默认10分钟
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="value"></param>
/// <param name="cacheKey"></param>
public void WriteCache<T>(T value, string cacheKey) where T : class
{
//CacheClient.Store(StoreMode.Set, cacheKey, value); CacheClient.Store(Exists(cacheKey) ? StoreMode.Set : StoreMode.Replace, cacheKey, value, DateTimeHelper.Now.AddMinutes(10));
} /// <summary>
/// 写入缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="value"></param>
/// <param name="cacheKey"></param>
/// <param name="expireTime"></param>
public void WriteCache<T>(T value, string cacheKey, DateTime expireTime) where T : class
{
//CacheClient.Store(StoreMode.Set, cacheKey, value, expireTime); CacheClient.Store(Exists(cacheKey) ? StoreMode.Set : StoreMode.Replace, cacheKey, value, expireTime);
} /// <summary>
/// 移除缓存
/// </summary>
/// <param name="cacheKey"></param>
public void RemoveCache(string cacheKey)
{
CacheClient.Remove(cacheKey);
} /// <summary>
/// 移除所有缓存
/// </summary>
public void RemoveCache()
{
CacheClient.FlushAll();
} /// <summary>
/// 是否存在
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
private static bool Exists(string key)
{
return CacheClient.Get(key) != null;
}
}

  接口类:

    public interface ICache
{
/// <summary>
/// 读取缓存
/// </summary>
/// <param name="cacheKey">键</param>
/// <returns></returns>
T GetCache<T>(string cacheKey) where T : class;
/// <summary>
/// 写入缓存
/// </summary>
/// <param name="value">对象数据</param>
/// <param name="cacheKey">键</param>
void WriteCache<T>(T value, string cacheKey) where T : class;
/// <summary>
/// 写入缓存
/// </summary>
/// <param name="value">对象数据</param>
/// <param name="cacheKey">键</param>
/// <param name="expireTime">到期时间</param>
void WriteCache<T>(T value, string cacheKey, DateTime expireTime) where T : class;
/// <summary>
/// 移除指定数据缓存
/// </summary>
/// <param name="cacheKey">键</param>
void RemoveCache(string cacheKey);
/// <summary>
/// 移除全部缓存
/// </summary>
void RemoveCache();
}

  配置文件:

<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration" />
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <sectionGroup name="enyim.com">
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
</sectionGroup> </configSections>
<enyim.com>
<memcached>
<servers>
<add address="192.168.1.12" port="11211" />
</servers>
<socketPool minPoolSize="10" maxPoolSize="1000" connectionTimeout="00:00:10" deadTimeout="00:02:00" />
</memcached>
</enyim.com>

  

最新文章

  1. Codeforces Round #384(div 2)
  2. MySQL 新装数据库不能链接解决方法
  3. 利用SQL语句查询一个数据库中的所有表
  4. ajax普通弹窗;Bootstrp弹窗
  5. jquery 整理之一
  6. Microsoft Visual C++ Runtime error解决方法
  7. Codeforces Round #330 (Div. 2)D. Max and Bike 二分 物理
  8. loadmore &amp; scroll
  9. java基础之注解
  10. 程序员的自我救赎---1.4.2: 核心框架讲解(BLL&amp;Tool)
  11. 了解UI Automator Viewer
  12. 关于字符串split一些用法
  13. uoj#274. 【清华集训2016】温暖会指引我们前行
  14. python第二十九课——文件读写(读取读取中文字符)
  15. Aspose.Cells.dll的用法
  16. File /data/binlog/mysql-bin.index&#39; not found (Errcode: 13)
  17. 使用 SendARP 获取 MAC 地址(使用SendARP API函数,很多相关文章)
  18. GoLand语言快捷键
  19. 【转】QT CEF3 消息循环处理
  20. python 输出两个日期之间的天数

热门文章

  1. Java8-Lambda-No.04
  2. 7、Spring Boot 2.x 集成 Redis
  3. 解决eslint与webstorm关于script标签的缩进问题
  4. 数据库学习之二--SQL语句以及数据类型
  5. Java进阶知识21 Spring的AOP编程
  6. Git出现 fatal: Pathspec &#39;xxx&#39; is in submodule &#39;xxx&#39; 异常的解决方案
  7. 如何用 Windows Live Writer 和 Word 2013 分别发表博客到Cnblog 和CSDN
  8. Spring Cloud Config(一):聊聊分布式配置中心 Spring Cloud Config
  9. Geos判断点是否在多边形内
  10. Go语言函数之可变参数