Arch下安裝Memcached
sudo pacman -S memcached
安裝完之后落君,默認情況下是沒有運行的额各,所以可以使用memcached -h
來查看幫助文檔褥芒,之后運行下面這個命令來運行。
memcached -p 11211 -m 64m -d
監(jiān)聽端口11211趾娃,使用內(nèi)存64M缭嫡,-d
表示是以一個守護進程的形式后臺運行。
運行了服務(wù)端的Memcached之后抬闷,使用telnet進行連接妇蛀。使用如下命令。
telnet 127.0.0.1 11211
顯示如下
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
另輸入quit退出笤成。
Memcached簡單使用
set命令和get命令
set foo 0 900 9
memcached
STORED
get foo
VALUE foo 0 9
memcached
END
上面就是典型的set
和get
命令评架。其中使用set
命令的時候,參數(shù)功能如下所示:
- foo:表示key值炕泳,用于查找纵诞。
- 0 :可以用來存儲除了鍵值對外的額外信息。
- 900:表示可以存放900秒培遵,0表示永遠浙芙。
- 9:表示字節(jié)數(shù)。
- memcached:表示value值籽腕,一直再第二行嗡呼。
- STORED:表示存儲成功。當(dāng)存儲失敗的時候皇耗,顯示ERROR南窗。
同理可以猜測到使用get
命令的時候,參數(shù)的作用。
delete命令
delete foo
DELETE
刪除一個存在的key万伤。
state命令
state
Memcached stats 命令用于返回統(tǒng)計信息例如 PID(進程號)窒悔、版本號、連接數(shù)等敌买。
Java客戶端連接Memcached
下面的代碼中我用的是下面這個Maven包简珠。
<groupId>com.google.code.maven-play-plugin.spy</groupId>
<artifactId>memcached</artifactId>
<version>2.4.2</version>
下面是一個簡單的例子,一看就懂如何簡單地使用API了虹钮。
import net.spy.memcached.MemcachedClient;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
/**
* Created by jack on 16-8-1.
*/
public class TestMemcached {
public static void main(String[] args) throws IOException, ExecutionException, InterruptedException {
MemcachedClient memcachedClient = new MemcachedClient(new InetSocketAddress("127.0.0.1",11211));
System.out.println("連接成功!");
Future fo = memcachedClient.set("foo",900,"Free Education");
System.out.println("set status:" + fo.get());
System.out.println(memcachedClient.get("foo"));
memcachedClient.shutdown();
}
}
運行結(jié)果:
連接成功!
2016-08-01 21:58:03.220 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2016-08-01 21:58:03.251 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@22d8cfe0
set status:true
Free Education
2016-08-01 21:58:03.279 INFO net.spy.memcached.MemcachedClient: Shut down memcached client
運行了之后北救,發(fā)現(xiàn)除了打印的信息外,還有自己打印的提示信息芜抒,還是可以的。
后記
簡單地對Memcached的安裝托启,命令行的使用宅倒,Java客戶端的使用有了一個了解,其實還有很多本質(zhì)問題沒有搞明白屯耸,比如為什么使用這個緩存就可以提升性能拐迁,有怎么樣的歷史和原理,比如如何在框架之下合理地使用緩存疗绣。下一篇講线召。