Memcachedの紹介
以下にMemcachedを紹介しましょう。
1。何がmemcachedです
Memcachedは、キー価値チームを介してデータを保存およびアクセスするオープンソースの高性能で分散されたメモリオブジェクトキャッシュシステムです。 Memcachedはシンプルで強力です。そのシンプルな設計は、迅速な展開を促進し、開発が容易であり、ビッグデータキャッシュが直面している多くの問題を解決します。
公式ウェブサイトはhttp://memcached.org/です。現在、多くの有名なインターネットアプリケーションがWikipedia、Flickr、YouTube、WordPressなど、Memcachedを使用しています。
2。WindowsプラットフォームでMemcachedをダウンロードすると、アドレスは次のとおりです。
http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip
対応するソースコードアドレスは次のとおりです。
http://code.jellycan.com/files/memcached-1.2.6-win32-src.zip
次に、それを解凍すると、memcached.exeファイルが表示され、次の図にインストールし、システムサービスの形でマシンにインストールします。
次に、システムサービスを確認すると、Memcachedサービスが既に表示されることがわかります
次に、このサービスを右クリックしてこのサービスを開始します。
入力:DOSインターフェイスのTelnet 127.0.0.1 11211は、サービスが正しく開始されるかどうかを確認します。正しい場合は、次のウィンドウが表示されます。
上の写真に示されているエラーは、文字をランダムに入力してEnterを押すことによって表示されます。これは、入力するようにMemcachedで指定されたプロトコルをインストールする必要があるためです。そうしないと、上記のエラーが表示されます。
3。Memcachedプロトコルとデータアクセス
いわゆるプロトコルは、その操作の構文ルール(データアクセス)として理解できます。データにアクセスするための一般的なコマンドとパラメーターは次のとおりです。
セット:レコードを保存します
キー:記録されたキー値
フラグ:小数点以降、レコードを保存するときにレコードを識別するクライアントフラグであり、レコードが取得されると返されます。
exptim:データの有効期限、0は有効期限が切れ、その他の値は有効なミリ秒を表します。有効期限が切れた後、クライアントはこのレコードを取得できなくなり、Memcachedの有効期限レコードがクリアまたは削除されます。
取得:Memcachedからキーの対応する値を取り出すことを意味します。対応する値がない場合、エンドフラグエンドが返されます。
追加:入力コンテンツが最後にキーに対応する値に追加されることを意味します
削除:キーに対応する値を削除します
その他のプロトコルについては、memcachedパッケージに持ち込まれたprotocol.txtを参照してください
具体的な例は次のとおりです。
設定されたときに指定された文字の長さが5で、入力コンテンツがこの長さを超える場合、エラーが報告されることに注意してください。
4. Memcachedのデータにアクセスするコードを書き込みます
一般的に言えば、オープンソースカプセル化されたMemcachedクライアントを使用して、Memcachedで動作できます。もちろん、Memcached Protocolに従ってソケット通信プログラムを作成することで、コードに実装することもできます。
memcached-java-clientダウンロードページ:
http://github.com/gwhalin/memcached-java-client/downloadsおよび選択ダウンロード:
java_memcached-release_2.5.1.zip
解凍されたテストディレクトリにいくつかのよく書かれた例を見ることができます。 com.danga.memcached.testを実行して、データストレージと引き出しを確認できます。 testMemcached。コードもここに投稿されています:
パッケージcom.danga.memcached.test; import com.danga.memcached.memcachedclient; Import com.danga.memcached.sockiopool; import org.apache.log4j。 11212basicconfigurator.configure(); //キャッシュサーバーアドレス、複数のサーバーはコンマで分離されます。 ); pool.setfailover(true); pool.setinitconn(10); pool.setminconn(5); pool.setmaxconn(250); // pool.setmaintsleep(30); pool.setnagle(false); pool.setsocketto(3000); pool.setalivecheck(true); pool.initialize(); pool.initialize(); pool.initialize(); memcachedClient(); //ほとんどのmemcachedクライアントロギングロギング://logger.getLogger(memcachedclient.class.getName()).setLevel(com.schooner.memcached.logger。); + i、「こんにちは!」 swree.sleep(10000) string.format( "get(%d):%s"、i、result);}}}}
MemcachedのJavaクライアントインスタンス
パッケージcom.danga.memcached.test; com.danga.memcached。*; public class testmemcached {public static void main(string [] args){ /*sockiopoolを初期化し、memcached Connection pool* / string [] servers = {"192.168.105.217:11211"}; sockiopool pool = sockiopool.getInstance(); pool.setServers(サーバー); pool.setfailover(true); pool.setinitconn(10); pool.setminconn(5); pool.setmaxconn(250); pool.setmaintsleep(30); pool.setnagle(false); pool.setsocketto(3000); pool.setalivecheck(true); pool.initialize(); /*memcachedClientインスタンスを作成*/ memcachedClient memcachedClient = new MemCachedClient(); for(int i = 0; i <10; i ++){ /*memcachedキャッシュにオブジェクトを追加* / boolean success = memcachedclient.set( "+i、" hello! "); /*memcachedキャッシュからキー値でオブジェクトを取得*/ string result =(string)memcachedclient.get( "" + i); System.out.println(string.format( "set(%d):%s"、i、success)); System.out.println(string.format( "get(%d):%s"、i、result)); }}} 1。減圧(この例では、c:/memcachedに減圧)。
2。コマンドライン状態:C:/memcached/memcached.exe -dインストールを入力します。これまでのところ、MemcachedはWindowsサービスにインストールされています
3。入力:c:/memcached/memcached.exe -dは、memcachedサービスの開始を開始します。もちろん、Windowsサービスで開始することもできます