Heim >Java >javaLernprogramm >Beispiele zur Erläuterung der Verwendung des Java-Clients der verteilten Caching-Software Memcached
Einführung in Memcached
Lassen Sie uns Memcached vorstellen.
1. Was ist Memcached? Sein einfaches Design fördert eine schnelle Bereitstellung, ist einfach zu entwickeln und löst viele Probleme beim Big-Data-Caching.
Die offizielle Website ist: http://memcached.org/ Derzeit verwenden viele bekannte Internetanwendungen Memcached, wie Wikipedia, Flickr, Youtube, WordPress usw.
2. Laden Sie MemCached unter der Windows-Plattform herunter unter:
http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip
Die entsprechende Quellcodeadresse lautet:
http://code.jellycan.com/files/memcached-1.2.6-win32-src.zip
Dann entpacken Sie es. Sie werden sehen Eine memcached.exe-Datei, installieren Sie sie wie unten gezeigt. Sie wird als Systemdienst auf dem Computer installiert.
Wählen Sie dann diesen Dienst aus und klicken Sie mit der rechten Maustaste darauf Beginnen Sie mit dem Servieren.
Geben Sie „telnet 127.0.0.1 11211“ in die DOS-Schnittstelle ein, um zu bestätigen, ob der Dienst korrekt gestartet wurde. Wenn er korrekt ist, wird er wie folgt angezeigt:
Der im obigen Bild gezeigte FEHLER ist, wenn ich die Zeichen beiläufig eingebe und drücke. Der Wagenrücklauf wird angezeigt, da Sie das von memcached für die Eingabe angegebene Protokoll installieren müssen, andernfalls wird der oben gezeigte Fehler angezeigt.
3. Memcached-Protokoll und Datenzugriff
Das sogenannte Protokoll kann als grammatikalische Regeln für seine Funktionsweise (Datenzugriff) verstanden werden:
set: einen Datensatz speichern
key: Schlüsselwert des Datensatzes
flags: decimal int, identifiziert das Client-Flag beim Speichern des Datensatzes und wird zurückgegeben, wenn der Datensatz wird herausgenommen.
exptim: Ablaufzeit der Daten, 0 bedeutet kein Ablauf, andere Werte stellen die effektive Anzahl von Millisekunden dar. Nach Ablauf kann der Client diesen Datensatz nicht abrufen und die abgelaufenen Datensätze in Memcached wird gelöscht oder gelöscht.
get: bedeutet, den dem Schlüssel entsprechenden Wert aus dem Memcached abzurufen. Wenn kein entsprechender Wert vorhanden ist, geben Sie das End-Flag zurück. END
append: bedeutet, den Eingabeinhalt zum entsprechenden Wert hinzuzufügen Schlüssel am Ende
Löschen: Löschen Sie den dem Schlüssel entsprechenden Wert
Weitere Protokolle finden Sie unter: im Memcached-Paket enthaltene Protokoll.txt
Spezifische Beispiele wie z als:
erforderlich Hinweis: Wenn die angegebene Zeichenlänge während der Festlegung 5 beträgt und der Eingabeinhalt diese Länge überschreitet, wird ein Fehler gemeldet: CLIENT_ERROR bad data chunk
4, Schreiben Sie Code, um Datenzugriffsvorgänge auf Memcached durchzuführen
Im Allgemeinen können Sie den Open-Source-gekapselten Memcached-Client verwenden, um Memcached zu betreiben. Natürlich können Sie auch die Socket-Kommunikation entsprechend in den Code schreiben zum Memcached-Protokoll.
Memcached-Java-Client-Downloadseite:
http://github.com/gwhalin/Memcached-Java-Client/downloads, dann Download auswählen:
java_memcached - release_2.5.1.zip
Sie können einige schriftliche Beispiele im entpackten Testverzeichnis sehen. Sie können den Datenspeicher- und Entnahmestatus überprüfen, indem Sie TestMemcached ausführen. Der Code wird ebenfalls veröffentlicht :
MemCached-Java-Client-Beispielpackage com.danga.MemCached.test; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; import org.apache.log4j.*; public class TestMemcached { public static void main(String[] args) { // memcached should be running on port 11211 but NOT on 11212 BasicConfigurator.configure(); //缓存服务器地址,多台服务器则以逗号隔开,11211为memcached使用的端口号 String[] servers = { “localhost:11211″ }; //得到一个链接池对象并进行一些初始化工作 SockIOPool pool = SockIOPool.getInstance(); pool.setServers( servers ); 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 mcc = new MemCachedClient(); // turn off most memcached client logging: //Logger.getLogger( MemCachedClient.class.getName() ).setLevel( com.schooner.MemCached.Logger. ); //以下是数据写入和取出操作例子 for ( int i = 0; i < 10; i++ ) { boolean success = mcc.set( “” + i, “Hello!” ); String result = (String)mcc.get( “” + i ); System.out.println( String.format( “set( %d ): %s”, i, success ) ); System.out.println( String.format( “get( %d ): %s”, i, result ) ); } System.out.println( “\n\t — sleeping –\n” ); try { Thread.sleep( 10000 ); } catch ( Exception ex ) { } for ( int i = 0; i < 10; i++ ) { boolean success = mcc.set( “” + i, “Hello!” ); String result = (String)mcc.get( “” + i ); System.out.println( String.format( “set( %d ): %s”, i, success ) ); System.out.println( String.format( “get( %d ): %s”, i, result ) ); } } }1. Entpacken (in diesem Beispiel nach c: memcached entpacken).
package com.danga.MemCached.test; import com.danga.MemCached.*; public class TestMemcached { public static void main(String[] args) { /*初始化SockIOPool,管理memcached的连接池*/ String[] servers = { "192.168.105.217:11211" }; SockIOPool pool = SockIOPool.getInstance(); pool.setServers(servers); 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缓存中按key值取对象*/ 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)); } } }2. Geben Sie im Befehlszeilenstatus Folgendes ein: c:memcachedmemcached.exe -d install. Zu diesem Zeitpunkt wurde Memcached als Windows-Dienst installiert
3. Geben Sie in der Befehlszeile c:memcachedmemcached.exe -d start ein, um den Memcached-Dienst zu starten. Natürlich können Sie es auch im Windows-Dienst starten
Weitere Beispiele zur Erläuterung der Verwendung des Java-Clients der verteilten Caching-Software Memcached finden Sie auf der chinesischen PHP-Website für verwandte Artikel!