1.基本概念
memcachedのは、データベースの負荷を低減する動的なWebアプリケーションのための高性能な分散メモリオブジェクトキャッシュシステムです。これは、メモリ内のオブジェクトによってデータベースから読み込まれたキャッシュデータの数を削減し、データベース駆動型のWebサイトの動的な、スピードを提供することです。店舗のキー/値のペアのハッシュマップに基づくmemcachedを。(デーモン)そのデーモンはCで書かれているが、クライアントは任意の言語で記述することができ、memcachedのデーモン通信との合意によって。
欠点:それは冗長提供していない(例えば、ハッシュマップのエントリをコピー)、サーバクラッシュまたはSを停止し、Sはすべてのキー/値のペアが失われる上に格納されています。
私たちが知っているように、ASP.NETでの現在のキャッシュはインプロセスキャッシュで、Webファームで使用することはできません。
2.ダウンロードしてインストール
1)Windows Serverのエンドをダウンロード
ダウンロード:http://code.jellycan.com/memcached/
2)Memcacheのサーバーをインストールします
。ダウンロードmemcachedの窓の安定したバージョンは、そのようなEとして、トレイの下に入れて解凍します:\\ memcachedの
B。cmdと入力します(win7のユーザーの注意を、あなたは管理者モードでCMD.EXEを開く必要があります)
C。memcached.exeインストール-d(memcachedのWindowsサービスとしてインストール)
アンインストールサービス:memcached.exe -dアンインストール
D。memcached.exeが開始-d(サービスを開始します)
:コマンドラインは、一般設定に使用-p <NUM>リスニングポート(デフォルトのポート:11211)-l <IP_ADDR> IPアドレスの接続を、デフォルトはローカルにはmemcachedの開始サービスを開始-d 再起動-d memcachedのサービスを再起動停止-d | memcachedのサービスのシャットダウンが実行をシャットダウンmemcachedのサービスをインストールするインストール-d -dアンインストール、アンインストールmemcachedのサービス-u <ユーザー名>に<ユーザー名>(rootとして実行する場合にのみ有効)アイデンティティを実行-m <NUM>最大メモリ使用量を、ユニットメガバイト デフォルトの64メガバイトの戻り空乏-Mメモリエラーではなく、エントリを削除する<NUM>同時接続の最大数、デフォルトは1024である-C -f <要因>成長因子ブロックサイズ、デフォルトは1.25であり、-n <バイト>最小割り振りスペースキー+値+フラグのデフォルトは48です-hヘルプを表示します
3.クライアントコール
1)DLLの参照を追加します
三つの主要なDLLを追加します。
MemcachedProviders.dll
Enyim.Caching.dll
log4net.dll
2)プロフィール
< 設定 >
< configSections >
< セクション 名 = "のcacheProvider" タイプ = "MemcachedProviders.Cache.CacheProviderSection、MemcachedProviders" てallowDefinition = "MachineToApplication" restartOnExternalChanges = "真" />
< sectionGroupの 名前 = "enyim .COM」 >
< セクション 名 = "memcachedの" タイプ = "Enyim.Caching.Configuration.MemcachedClientSection、Enyim.Caching" />
<
セクション 名 = "log4netの" タイプ = "log4net.Config.Log4NetConfigurationSectionHandler、log4netの" />
</ configSections >
< enyim.com >
< memcachedを >
< サーバ >
<! - ここにあなた自身のサーバーを置きます - >
< 追加 アドレス = "127.0.0.1" ポート = "11211" />
</ サーバ >
< socketPool minPoolSize = "10" maxPoolSize = "100" のConnectionTimeout := "00:0010" deadTimeout = "0時02分00秒" />
</ memcachedの >
</ enyim.com >
< のcacheProvider defaultProvider = "MemcachedCacheProvider" >
< プロバイダ >
< 追加 名 = "MemcachedCacheProvider" タイプ = "MemcachedProviders.Cache.MemcachedCacheProvider、MemcachedProvidersは" keySuffix = "_ MySuffix_" defaultExpireTime = "2000 " />
</ プロバイダ >
</ のcacheProvider >
< log4netの >
<!- いくつかの出力アペンダを定義します - >
< アペンダ 名前 = "ConsoleAppender" タイプ = "log4net.Appender.ConsoleAppender" >
< レイアウト タイプ = "log4net.Layout.PatternLayout" >
< conversionPattern 値 = "%日付[%スレッド]%-5level%ロガー[%プロパティ{NDC}] - %メッセージ%の改行」 />
</ レイアウト >
</ アペンダ >
<! - <しきい値= "OFF" /> - >
<! - セットアップルートカテゴリ、アペンダを追加し、デフォルトの優先度を設定します - - >
< ルート >
< 優先順位の 値 = "WARN" />
< アペンダ-REF REF = "ConsoleAppender" >
< フィルタ タイプ = "log4net.Filter.LevelRangeFilter" >
< levelMinの 値 = "WARN" />
< levelMax 値 = "FATAL" />
</ フィルタ >
</ アペンダ-REF >
< / ルート >
</ log4netの >
...
</ 設定 >
3)簡単なC#の呼び出しコード
DistCache.Add( " 新しいcache_keyである " 、cache_valueを);
// フェッチバッファ 文字列 C = DistCache.Getを( " 新しいcache_keyである").ToString();
ます。https://www.cnblogs.com/davidgu/archive/2012/07/18/2597691.htmlで再現