一.如果用官方提供的方法,在web.config里面配置好了各个参数和服务器IP。如下图:

<?xml version="1.0"?>
<configuration><configSections>   <sectionGroup name="enyim.com"><section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching"/></sectionGroup><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections><enyim.com> <memcached protocol="Text"><servers> <add address="127.0.0.1" port="11211" /><add address="127.0.0.1" port="11212" /><add address="127.0.0.1" port="11213" /><add address="127.0.0.1" port="11214" /></servers><socketPool minPoolSize="10" maxPoolSize="100" connectionTimeout="00:00:05" deadTimeout="00:02:00" /></memcached></enyim.com> <system.web><compilation debug="true" targetFramework="4.0"/></system.web>
</configuration>

则使用该通用类即可,组件自动调用web.config里面的配置。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;/// <summary>
/// MemberHelper 的摘要说明
/// </summary>
public abstract class MemberHelper
{public MemberHelper(){//// TODO: 在此处添加构造函数逻辑//}#region 添加缓存/// <summary>/// 添加缓存(键不存在则添加,存在则替换)/// </summary>/// <param name="key">键</param>/// <param name="value">值</param>/// <returns></returns>public static bool AddCache(string key, object value){using (MemcachedClient mc = new MemcachedClient()){return mc.Store(StoreMode.Set, key, value);}}#endregion#region 添加缓存/// <summary>/// 添加缓存(键不存在则添加,存在则替换)/// </summary>/// <param name="key">键</param>/// <param name="value">值</param>/// <param name="minutes">缓存时间(分钟)</param>/// <returns></returns>public static bool AddCache(string key, object value, int minutes){ using (MemcachedClient mc = new MemcachedClient()){return mc.Store(StoreMode.Set, key, value, DateTime.Now.AddMinutes(minutes));}}#endregion#region 获取缓存/// <summary>/// 获取缓存/// </summary>/// <param name="key">键</param>/// <returns>返回缓存,没有找到则返回null</returns>public static object GetCache(string key){using (MemcachedClient mc = new MemcachedClient()){return mc.Get(key);}}#endregion#region 是否存在该缓存/// <summary>/// 是否存在该缓存/// </summary>/// <param name="key">键</param>/// <returns></returns>public static bool IsExists(string key){using (MemcachedClient mc = new MemcachedClient()){return mc.Get(key) != null;}}#endregion#region 删除缓存(如果键不存在,则返回false)/// <summary>/// 删除缓存(如果键不存在,则返回false)/// </summary>/// <param name="key">键</param>/// <returns>成功:true失败:false</returns>public static bool DelCache(string key){using (MemcachedClient mc = new MemcachedClient()){return mc.Remove(key);}}#endregion#region 清空缓存/// <summary>/// 清空缓存/// </summary>public static void FlushCache(){using (MemcachedClient mc = new MemcachedClient()){mc.FlushAll();}}#endregion}

二.如果不想在web.config配置,那就使用下面的通用类。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;/// <summary>
/// MemberHelper 的摘要说明
/// </summary>
public abstract class MemberHelper
{public MemberHelper(){//// TODO: 在此处添加构造函数逻辑//}#region 创建Memcache客户端/// <summary>/// 创建Memcache客户端/// </summary>/// <param name="serverList">服务列表</param>/// <returns></returns>private static MemcachedClient CreateServer(List<IPEndPoint> serverList){MemcachedClientConfiguration config = new MemcachedClientConfiguration();//创建配置参数for (int i = 0; i < serverList.Count; i++){config.Servers.Add(new System.Net.IPEndPoint(IPAddress.Parse(serverList[i].Address.ToString()), serverList[i].Port));//增加服务节点}config.Protocol = MemcachedProtocol.Text;config.Authentication.Type = typeof(PlainTextAuthenticator);//设置验证模式config.Authentication.Parameters["userName"] = "uid";//用户名参数config.Authentication.Parameters["password"] = "pwd";//密码参数MemcachedClient mac = new MemcachedClient(config);//创建客户端return mac;}#endregion#region 添加缓存/// <summary>/// 添加缓存(键不存在则添加,存在则替换)/// </summary>/// <param name="serverList">服务器列表</param>/// <param name="key">键</param>/// <param name="value">值</param>/// <returns></returns>public static bool AddCache(List<IPEndPoint> serverList, string key, object value){using (MemcachedClient mc = CreateServer(serverList)){return mc.Store(StoreMode.Set, key, value);}}#endregion#region 添加缓存/// <summary>/// 添加缓存(键不存在则添加,存在则替换)/// </summary>/// <param name="serverList">服务器列表</param>/// <param name="key">键</param>/// <param name="value">值</param>/// <param name="minutes">缓存时间(分钟)</param>/// <returns></returns>public static bool AddCache(List<IPEndPoint> serverList,string key, object value, int minutes){using (MemcachedClient mc = CreateServer(serverList)){return mc.Store(StoreMode.Set, key, value, DateTime.Now.AddMinutes(minutes));}}#endregion#region 获取缓存/// <summary>/// 获取缓存/// </summary>/// <param name="serverList">服务器列表</param>/// <param name="key">键</param>/// <returns>返回缓存,没有找到则返回null</returns>public static object GetCache(List<IPEndPoint> serverList,string key){using (MemcachedClient mc = CreateServer(serverList)){return mc.Get(key);}}#endregion#region 是否存在该缓存/// <summary>/// 是否存在该缓存/// </summary>/// <param name="serverList">服务器列表</param>/// <param name="key">键</param>/// <returns></returns>public static bool IsExists(List<IPEndPoint> serverList,string key){using (MemcachedClient mc = CreateServer(serverList)){return mc.Get(key) != null;}}#endregion#region 删除缓存(如果键不存在,则返回false)/// <summary>/// 删除缓存(如果键不存在,则返回false)/// </summary>/// <param name="serverList">服务器列表</param>/// <param name="key">键</param>/// <returns>成功:true失败:false</returns>public static bool DelCache(List<IPEndPoint> serverList, string key){using (MemcachedClient mc = CreateServer(serverList)){return mc.Remove(key);}}#endregion#region 清空缓存/// <summary>/// 清空缓存/// </summary>/// <param name="serverList">服务器列表</param>public static void FlushCache(List<IPEndPoint> serverList){using (MemcachedClient mc = CreateServer(serverList)){mc.FlushAll();}}#endregion}

Memcached通用类(基于enyim.com Memcached Client)相关推荐

  1. Memcached的配置,SSH项目中的整合(com.whalin),Memcached工具类,Memcached的代码调用

     1 修改pom.xml,添加依赖文件: <dependency> <groupId>com.whalin</groupId> <artifactId&g ...

  2. memcached java 客户端优化,分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用...

    Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...

  3. Key/Value之王Memcached初探:一、掀起Memcached的盖头来

    一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...

  4. memcached 注册服务器,Memcached深入剖析(一)—Memcached服务器安装

    Memcached是一个高性能的分布式内存缓存服务器. 一般的使用目的是:通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度. 提高可扩展性. 许多Web应用都将数据保存到DB中, ...

  5. 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用

    Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...

  6. linux 64位 php memcached 扩展,LINUX系统安装PHP的memcached扩展

    LINUX系统安装PHP的memcached扩展 说明:由于一些开源网址有所变化,以及版本也有所变化,所以,这里给出了本年度最新下载网址,以及最新的版本. 本安装文档所用的操作系统是CentOS. 1 ...

  7. HTML5响应式企业集团织梦模板,(自适应手机版)响应式企业集团通用类网站织梦模板 HTML5响应式大气通用企业织梦源码+PC+wap+利于SEO优化...

    名称:(自适应手机版)响应式企业集团通用类网站织梦模板 HTML5响应式大气通用企业织梦源码+PC+wap+利于SEO优化 该模板是非常容易存活的,这样的网站很容易吸引访客点击,提升ip流量和pv是非 ...

  8. Django之通用类视图DetailView

    本文参考于Django2.2文档 视图函数(或简称视图)只是一个Python函数,它接受Web请求并返回Web响应.该响应可以是网页的HTML内容,重定向,404错误,XML文档或图像...真的.视图 ...

  9. 实战Memcached缓存系统(1)Memcached基础及示例程序

    尊重知识,转载请注明本文来自:编程艺术家Poechant的CSDN博客 http://blog.csdn.net/potent 1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Ma ...

最新文章

  1. lua 获取时分秒_PMON学用命令
  2. spring WebSocket详解
  3. 【文摘】 雪念——作者:蓝色妖姬
  4. Spark源码分析之Job触发原理
  5. php Immutable,Immutable.js详解
  6. 深度学习2.0-11.tensorflow的高阶操作之高阶op
  7. 高通qca-wifi移植
  8. Tomcat内存溢出及配置解决方案
  9. vijos 1752
  10. 第一周学习前端html的知识总结与感悟
  11. 物联网开发 7 旗点云物联网云平台
  12. Spring Data JPA 查询方法的命名语法与参数
  13. 网络天才网页中文版_【网络天才网页版】网络天才最新中文网页版下载v2.2.3-街机中国...
  14. 【ELM预测】基于粒子群算法改进极限学习机ELM实现数据预测matlab源码
  15. 【金融量化】中泰证券何波先生关于XTP交易接口的演讲
  16. 健身类小程序前后端源码
  17. 树莓派4B通过16路PWM输出的PCA9685模块控制舵机(机械臂)附完整代码
  18. Android 使用 okhttp3和retrofit2 进行单文件和多文件上传
  19. 如何实现类似锚链接的导航联动效果
  20. 学习JAVA.day05

热门文章

  1. 经典C语言程序100例之八
  2. c++ 智能指针_详解 C++ 11 中的智能指针
  3. 计算机组成原理 外部设备分为,2017考研计算机组成原理第七章考点:外部设备...
  4. 55_pytorch,自定义数据集
  5. Mysql创建、删除用户、用户管理等相关:转载http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html
  6. 商品品牌信息的增删改查操作步骤_javaweb09-Servlet增删改查
  7. Python-opencv在线帮助
  8. vs2010 出错:error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  9. FPGA学习之FIFO
  10. 【分布式】1、CAP原则(CAP定理)、BASE理论