日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Memcached通用类(基于enyim.com Memcached Client)

發布時間:2024/9/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Memcached通用类(基于enyim.com Memcached Client) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.如果用官方提供的方法,在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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。