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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Memcached 使用 及.NET客户端调用

發(fā)布時(shí)間:2024/7/5 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Memcached 使用 及.NET客户端调用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

memcached安裝:
============================================================================

?? ?1 解壓縮文件到c:\memcached

?? 2 命令行輸入 'c:\memcached\memcached.exe -d install'?

?? ?3 命令行輸入 'c:\memcached\memcached.exe -d start' ,該命令啟動(dòng) Memcached ,默認(rèn)監(jiān)聽端口為 11211

注:

如果出現(xiàn)如下錯(cuò)誤

?“ failed to install service or service already installed”

解決方法:

管理員身份安裝,首先找出cmd.exe的原文件

右擊以管理員身份運(yùn)行,接下來就OK(win7下的用戶).

如果下載的是二進(jìn)制的版本,直接運(yùn)行就可以了,可以加上參數(shù)來加以設(shè)置。


常用設(shè)置:
-p <num>????????? 監(jiān)聽的端口
-l <ip_addr>????? 連接的IP地址, 默認(rèn)是本機(jī)
-d start????????? 啟動(dòng)memcached服務(wù)
-d restart??????? 重起memcached服務(wù)
-d stop|shutdown? 關(guān)閉正在運(yùn)行的memcached服務(wù)
-d install??????? 安裝memcached服務(wù)
-d uninstall????? 卸載memcached服務(wù)
-u <username>???? 以<username>的身份運(yùn)行 (僅在以root運(yùn)行的時(shí)候有效)
-m <num>????????? 最大內(nèi)存使用,單位MB。默認(rèn)64MB
-M??????????????? 內(nèi)存耗盡時(shí)返回錯(cuò)誤,而不是刪除項(xiàng)
-c <num>????????? 最大同時(shí)連接數(shù),默認(rèn)是1024
-f <factor>?????? 塊大小增長因子,默認(rèn)是1.25
-n <bytes>??????? 最小分配空間,key+value+flags默認(rèn)是48
-h??????????????? 顯示幫助


memcached .net客戶端調(diào)用:
===============================================================================
?
一、

?

2) NET memcached client library

  下載地址:https://sourceforge.net/projects/memcacheddotnet


?????? memcached 客戶端類庫
??????? 其中,客戶端類庫包括以下幾個(gè)DLL:

?????? Memcached.ClientLibrary.dll
?????? ICSharpCode.SharpZipLib.dll
?????? log4net.dll

? 把這個(gè)三個(gè) DLL 放入Bin 目錄,在項(xiàng)目中引用? Memcached.ClientLibrary.dll
?
?使用時(shí) 引入命名空間? using Memcached.ClientLibrary

?

二、 memcached使用了log4net,所以我們先配置log4net? (這個(gè)環(huán)節(jié)可以 不做 )
在web.config里找到configSections節(jié)點(diǎn),添加以下內(nèi)容
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

再在configSections節(jié)點(diǎn)之外,增加以下內(nèi)容:

<log4net><appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="LogFiles/"/><param name="AppendToFile" value="true"/><param name="MaxSizeRollBackups" value="10"/><param name="StaticLogFileName" value="false"/><param name="DatePattern" value="yyyy-MM-dd".txt""/><param name="RollingStyle" value="Date"/><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger %ndc - %message%newline"/></layout></appender><appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger %ndc - %message%newline" /></layout></appender><root><level value="ALL" /><appender-ref ref="RollingLogFileAppender" /><appender-ref ref="ConsoleAppender" /></root><logger name="Memcached.ClientLibrary"><level value="WARN" /></logger></log4net>

?

?

三、初始化SockIOPool

SockIOPool是Memcached客戶端提供的一個(gè)套接字連接池,通俗講,就是與Memcached服務(wù)器端交換數(shù)據(jù)的對(duì)象。SockIOPool在應(yīng)用程序啟動(dòng)時(shí)初始化一次就可以了
(一般寫在 靜太構(gòu)造 里就行了)

?//服務(wù)器端列表??????????

string[] serverlist = { "127.0.0.1:11211" }; //初始化池 SockIOPool sock = SockIOPool.GetInstance(); sock.SetServers(serverlist);//添加服務(wù)器列表 sock.InitConnections = 3;//設(shè)置連接池初始數(shù)目 sock.MinConnections = 3;//設(shè)置最小連接數(shù)目 sock.MaxConnections = 5;//設(shè)置最大連接數(shù)目 sock.SocketConnectTimeout = 1000;//設(shè)置連接的套接字超時(shí)。 sock.SocketTimeout = 3000;//設(shè)置套接字超時(shí)讀取 sock.MaintenanceSleep = 30;//設(shè)置維護(hù)線程運(yùn)行的睡眠時(shí)間。如果設(shè)置為0,那么維護(hù)線程將不會(huì)啟動(dòng); //獲取或設(shè)置池的故障標(biāo)志。 //如果這個(gè)標(biāo)志被設(shè)置為true則socket連接失敗, //將試圖從另一臺(tái)服務(wù)器返回一個(gè)套接字如果存在的話。 //如果設(shè)置為false,則得到一個(gè)套接字如果存在的話。否則返回NULL,如果它無法連接到請(qǐng)求的服務(wù)器。 sock.Failover = true; //如果為false,對(duì)所有創(chuàng)建的套接字關(guān)閉Nagle的算法。 sock.Nagle = false; sock.Initialize();

?


四、使用Memcached

MemcachedClient mc = new MemcachedClient();mc.EnableCompression = true; //是否啟用壓縮數(shù)據(jù)mc.Set(key,val);//設(shè)置 鍵值mc.KeyExists(key) //鍵 是否存 mc.Get(key) //獲取 一個(gè)鍵值 mc.Delete(key);// 刪除 鍵值五、 一個(gè)簡(jiǎn)單的例子using System; using System.Collections.Generic; using System.Linq; using System.Web; using Memcached.ClientLibrary;namespace CachedApp {public class MCache{MemcachedClient mc = new MemcachedClient();//初始化一個(gè)客戶端 static MCache(){string[] serverlist = { "172.18.30.33:11211" }; //服務(wù)器列表,可多個(gè) SockIOPool pool = SockIOPool.GetInstance();//根據(jù)實(shí)際情況修改下面參數(shù)pool.SetServers(serverlist);pool.InitConnections = 3;pool.MinConnections = 3;pool.MaxConnections = 5;pool.SocketConnectTimeout = 1000;pool.SocketTimeout = 3000;pool.MaintenanceSleep = 30;pool.Failover = true;pool.Nagle = false;pool.Initialize(); // initialize the pool for memcache servers }public object get(string key){return mc.Get(key); }public object set(string key,string val){return mc.Set(key,val);}} }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ayzhanglei/archive/2013/06/15/3137561.html

總結(jié)

以上是生活随笔為你收集整理的Memcached 使用 及.NET客户端调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。