本文主要記錄Memcached的一些基本使用和簡單的Monitor,大家參考使用吧
Memcached作為一個高並發內存Cached系統被很多大公司使用,最近也一直在用Memcached做項目也積累了一些相關經驗。 Install Memcached的安裝很簡單,在Ubuntu下面一行命令搞定。 代碼如下: sudo apt-get install memcached Start 實際使用的時候,memcached需要調整內存大小和端口號等命令,則啟動的使用時用以下的Command就行。 代碼如下: usr/local/bin/memcached -p 11211 -m 64m -d -p 指定端口號 -m 指定內存大小 -d 作為daemon在後台啟動 如果想trouble shotting 則加 -vv Test Test也很簡單,安裝官網的命令就行 代碼如下: telnet localhost 11211 裡面就能Get和Set了。 Use in Java 由於項目是java的,所以以java為例子來介紹Java下Memcached的使用。 Java下Memcached的客戶端很多,這裡介紹spymemcached spymemcached的使用很簡單,在maven項目下面,我們加入如下依賴。 代碼如下: <dependency> <groupId>net.spy</groupId> <artifactId>spymemcached</artifactId> <version>2.9.1</version> </dependency> 這樣我們就能對Memcached操作了。 代碼如下: public class Memcached { private static MemcachedClient MEMCACHED_CLIENT; static { try { MEMCACHED_CLIENT = new MemcachedClient( AddrUtil.getAddresses("localhost1:11211 localhost2:11211")); } catch (Exception e) { System.err.println("Cannot init MEMCACHED Memcached Client"); } } public static void set(String key, String value,Integer expireTime ) throws Exception { MEMCACHED_CLIENT.set(key, expireTime, value); } public static String get(String key) throws Exception { Object value = MEMCACHED_CLIENT.get(key); if (null != value) return value.toString(); return null; } } Monitor 我們可以通過以下簡單的命令得知Memcached的運行狀況,以此為擴充可以實現簡單的Memcached檢測shell。 代碼如下: watch "echo stats | nc 127.0.0.1 11211" Conclusion Memcached實際使用下來簡單易用,各個平台上面也有相應的Client. 但有時高並發可能會出現Timeout的情況,導致緩沖沒辦法命中的情況,具體原因還需要進一步調查。 Memcahed的作者最近用Go語言去寫了groupcache很值得關注。