博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Memcached通用类(基于enyim.com Memcached Client)
阅读量:4324 次
发布时间:2019-06-06

本文共 5719 字,大约阅读时间需要 19 分钟。

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

则使用该通用类即可,组件自动调用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;/// /// MemberHelper 的摘要说明/// public abstract class MemberHelper{    public MemberHelper()    {        //        // TODO: 在此处添加构造函数逻辑        //    }    #region 添加缓存    ///     /// 添加缓存(键不存在则添加,存在则替换)    ///     /// 键    /// 值    /// 
public static bool AddCache(string key, object value) { using (MemcachedClient mc = new MemcachedClient()) { return mc.Store(StoreMode.Set, key, value); } } #endregion #region 添加缓存 /// /// 添加缓存(键不存在则添加,存在则替换) /// /// 键 /// 值 /// 缓存时间(分钟) ///
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 获取缓存 /// /// 获取缓存 /// /// 键 ///
返回缓存,没有找到则返回null
public static object GetCache(string key) { using (MemcachedClient mc = new MemcachedClient()) { return mc.Get(key); } } #endregion #region 是否存在该缓存 /// /// 是否存在该缓存 /// /// 键 ///
public static bool IsExists(string key) { using (MemcachedClient mc = new MemcachedClient()) { return mc.Get(key) != null; } } #endregion #region 删除缓存(如果键不存在,则返回false) /// /// 删除缓存(如果键不存在,则返回false) /// /// 键 ///
成功:true失败:false
public static bool DelCache(string key) { using (MemcachedClient mc = new MemcachedClient()) { return mc.Remove(key); } } #endregion #region 清空缓存 /// /// 清空缓存 /// 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;/// /// MemberHelper 的摘要说明/// public abstract class MemberHelper{    public MemberHelper()    {        //        // TODO: 在此处添加构造函数逻辑        //    }    #region 创建Memcache客户端    ///     /// 创建Memcache客户端    ///     /// 服务列表    /// 
private static MemcachedClient CreateServer(List
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 添加缓存 ///
/// 添加缓存(键不存在则添加,存在则替换) /// ///
服务器列表 ///
键 ///
值 ///
public static bool AddCache(List
serverList, string key, object value) { using (MemcachedClient mc = CreateServer(serverList)) { return mc.Store(StoreMode.Set, key, value); } } #endregion #region 添加缓存 ///
/// 添加缓存(键不存在则添加,存在则替换) /// ///
服务器列表 ///
键 ///
值 ///
缓存时间(分钟) ///
public static bool AddCache(List
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 获取缓存 ///
/// 获取缓存 /// ///
服务器列表 ///
键 ///
返回缓存,没有找到则返回null
public static object GetCache(List
serverList,string key) { using (MemcachedClient mc = CreateServer(serverList)) { return mc.Get(key); } } #endregion #region 是否存在该缓存 ///
/// 是否存在该缓存 /// ///
服务器列表 ///
键 ///
public static bool IsExists(List
serverList,string key) { using (MemcachedClient mc = CreateServer(serverList)) { return mc.Get(key) != null; } } #endregion #region 删除缓存(如果键不存在,则返回false) ///
/// 删除缓存(如果键不存在,则返回false) /// ///
服务器列表 ///
键 ///
成功:true失败:false
public static bool DelCache(List
serverList, string key) { using (MemcachedClient mc = CreateServer(serverList)) { return mc.Remove(key); } } #endregion #region 清空缓存 ///
/// 清空缓存 /// ///
服务器列表 public static void FlushCache(List
serverList) { using (MemcachedClient mc = CreateServer(serverList)) { mc.FlushAll(); } } #endregion}

转载于:https://www.cnblogs.com/soundcode/p/4020878.html

你可能感兴趣的文章
原生js大总结二
查看>>
PHP基础
查看>>
UVa 11488 超级前缀集合(Trie的应用)
查看>>
Django 翻译与 LANGUAGE_CODE
查看>>
[转]iOS教程:SQLite的创建数据库,表,插入查看数据
查看>>
【转载】OmniGraffle (一)从工具栏开始
查看>>
初识ionic
查看>>
java 中打印调用栈
查看>>
开发 笔记
查看>>
数据挖掘算法比赛 - 简单经验总结
查看>>
生成商户订单号/退款单号
查看>>
使用Android OpenGL ES 2.0绘图之六:响应触摸事件
查看>>
我们过去几年做对了哪些事
查看>>
ubuntu 16.04LTS
查看>>
javascript深入理解js闭包
查看>>
Java Bigdecimal使用
查看>>
SQL注入之绕过WAF和Filter
查看>>
jquery validate使用方法
查看>>
DataNode 工作机制
查看>>
windows系统下安装MySQL
查看>>