アウトライン
メモリキャッシュは、オープンソースの分散キャッシング・システムの集合です。そして、デーモン(モニタ)でのサービス構成により、クライアントは、クライアントの接続と操作を受信する準備ができて、1つ以上のサーバー上で実行します。巨大なハッシュテーブルに統合メモリを維持することによって、メモリにキャッシュされた主対象データをメモリキャッシュ。簡単に言えば、それはこのように大幅に読み出し速度を向上させること、メモリにデータを呼び出し、その後、メモリから読み出すことです。メモリキャッシュオブジェクトストアのキー/値のペアのハッシュマップに基づいて、メモリに格納されます。memcacheのはCで書かれているが、クライアントは任意の言語で記述することができ、memcachedのデーモン通信との合意によって。
特徴:
データのMemcachedに保存することができます•ボリューム項目は限り十分なメモリとして、制限はありません。
•64ビットシステム上の制限がない場合、これは、1つのプロセスがより多くのメモリを使用するために、2Gのメモリを使用でき、32ビットのシステムに起因する制限された複数のポートに分割することができ、最大2Gに32ビットのシステム・メモリを使用して、単一のプロセスをMemcachedの複数のプロセスを開くmemcachedの。
•データの有効期限の30日まで、永久的なこの時点で有効期限が切れるを設定します、定数REALTIME_MAXDELTA
データの最大の単一の項目•は1MBです、ないデータストレージの1メガバイト、制御定数のPOWER_BLOCK 1048576より
Memcacheのクラスタリングコンセプト
Memcacheの:クライアント主導型のクラスタによって実現しました。Redisの、MongoDBの:達成サーバ側クラスタ; Memcacheのドライバ初期化時間は、コレクションに設定することができる、など
1 列 []サーバー= { " 172.20.10.7:11211 "、" 172.20.10.8:11211 " }。
クラスタダイアグラムのドライバ
Memcacheの長所と短所:
1は、永続として保存することはできません
図2に示すように、データストレージが限られている:1M [1Mより大きい、人工分割]
3、唯一のキーと値のストア
図4は、どのクラスタデータの複製と同期化機構は存在しません。[ベンの崩壊は、プログラムには影響しません、何のマスタースレーブのレプリケーション(複製なし追加のオーバーヘッドは)ありません]
5、メモリリコールは、非常にタイムリーLRUではありません。未使用のメモリが>期限切れのメモリ>メモリは、不活性最低使用(も考慮欠点を)削除します
さて、私たちが今知っているそれで何をするMemcacheについて、実際には、非常に単純な、ブログで私の記事を参照してくださいます。https://www.cnblogs.com/chenyanbin/p/11415368.html
コードの実装:
1.クライアントライブラリDLLをダウンロード
住所:HTTPS://sourceforge.net/projects/memcacheddotnet/
Baiduのクラウドディスク:
リンクします。https://pan.baidu.com/s/1tIkdYdp8rkKtXMeOeT24AAの
抽出コード:5yk2
2、ライブラリーの導入
図3に示すように、参照を追加
図4に示すように、コード
1 // memcachedサーバのIPポートを分散 2 列 [] = {サーバー" 172.20.10.7:11211 " }; // MemcacheのマシンIP 3。 // プールを初期化する 4。 SockIOPoolプール= SockIOPool.GetInstance(); 5 pool.SetServers(サーバ); // 関連付けられた接続プール 6 pool.InitConnectionsの= 3 ; // リンクを初期化 7。 pool.MinConnectionsの= 3 ; // 接続の最小数 。8 pool.MaxConnectionsの= 5 ; //接続の最大数 9。 = pool.SocketConnectTimeout 1000年 ; // ソケット接続タイムアウト期間 10 = pool.SocketTimeout 3000 ; // ソケットタイムアウト 。11 pool.MaintenanceSleep = 30 ; // ソケットスリープ時間 12は pool.Failover = trueに、 13である プール。 =ネーグルfalseに、 14 pool.Initialize(); // 初期化 15 // クライアントの例 16 MemcachedClient MC = 新しい新)(MemcachedClientします。 17 mc.EnableCompression = 偽 ; // 圧縮開始 18 (mc.Addを" keykey "、" valuevalue "); // 追加 19 // mc.Delete( "keykeyを"); // 削除し 20 // mc.Setを( ""、 ""); //が設定 21 // mc.Getを( ""); // 取得
実装:
成功
DEMOの例
リンクします。https://pan.baidu.com/s/1QhHEO71jMDCbZ72lbFNNcw
抽出コード:0a5i
あなたは、助けこの記事ヘルプは、次をお勧めしている場合、〜以下のコメントを歓迎する場所がわかりません