Ⅰ linux 怎樣 查看memcached是否安裝成功
一、使用memcache top腳本
memcache-top 是一個用 Perl 編寫的命令行小工具,用來實時的獲取 memcached 緩存伺服器的詳細信息,例如緩存命中率等。到官網下載腳本,放到用戶目錄,直接運行即可。
/home/nihaoya/memcache-top
INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
10.50.11.5:11211 88.8% 69.6% 1123 1.9ms 0.3 13.1K 36.2K
10.50.11.5:11212 88.7% 69.6% 1175 0.6ms 0.3 12.4K 28.1K
10.50.11.5:11213 88.8% 69.4% 1148 0.7ms 0.0 16.6K 32.1K
10.50.12.5:11211 89.3% 81.5% 1460 0.7ms 0.3 17.7K 204.0K
10.50.12.5:11212 89.4% 69.3% 1174 0.6ms 1.0 28.9K 63.5K
10.50.12.5:11213 89.3% 69.4% 1158 0.7ms 0.7 166.3K 194.4K
10.50.15.5:11211 89.3% 71.8% 1472 0.8ms 0.0 37.3K 59.2K
10.50.15.5:11212 89.4% 69.3% 1143 0.7ms 0.7 44.9K 35.4K
10.50.15.5:11213 89.3% 84.5% 1371 0.7ms 0.7 49.0K 187.2K
10.50.9.90:11211 30.2% 76.3% 259 0.7ms 0.0 243 999
10.50.9.90:11212 19.2% 60.3% 261 0.7ms 0.0 40 801
10.50.9.90:11213 17.5% 16.9% 235 0.6ms 0.0 70 600
AVERAGE: 72.4% 67.3% 998 0.8ms 0.3 32.2K 70.2K
TOTAL: 23.4GB 11.7K 9.2ms 4.0 386.4K 842.3K
二、使用telnet方式,只能查看某個節點的
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 22362 //memcache伺服器的進程ID www.2cto.com
STAT uptime 1469315 //伺服器已經運行的秒數
STAT time 1339671194 //伺服器當前的unix時間戳
STAT version 1.4.9 //memcache版本
STAT libevent 1.4.9-stable //libevent版本
STAT pointer_size 64 //當前操作系統的指針大小(32位系統一般是32bit,64就是64位操作系統)
STAT rusage_user 3695.485200 //進程的累計用戶時間
STAT rusage_system 14751.273465 //進程的累計系統時間
STAT curr_connections 69 //伺服器當前存儲的items數量
STAT total_connections 855430 //從伺服器啟動以後存儲的items總數量
STAT connection_structures 74 //伺服器分配的連接構造數
STAT reserved_fds 20 //
STAT cmd_get 328806688 //get命令(獲取)總請求次數
STAT cmd_set 75441133 //set命令(保存)總請求次數 www.2cto.com
STAT cmd_flush 34 //flush命令請求次數
STAT cmd_touch 0 //touch命令請求次數
STAT get_hits 253547177 //總命中次數
STAT get_misses 75259511 //總未命中次數
STAT delete_misses 4 //delete命令未命中次數
STAT delete_hits 565730 //delete命令命中次數
STAT incr_misses 0 //incr命令未命中次數
STAT incr_hits 0 //incr命令命中次數
STAT decr_misses 0 //decr命令未命中次數
STAT decr_hits 0 //decr命令命中次數
STAT cas_misses 0 //cas命令未命中次數
STAT cas_hits 0 //cas命令命中次數
STAT cas_badval 0 //使用擦拭次數
STAT touch_hits 0 //touch命令未命中次數
STAT touch_misses 0 //touch命令命中次數
STAT auth_cmds 0 //認證命令處理的次數
STAT auth_errors 0 //認證失敗數目
STAT bytes_read 545701515844 //總讀取位元組數(請求位元組數)
STAT bytes_written 1649639749866 //總發送位元組數(結果位元組數)
STAT limit_maxbytes 2147483648 //分配給memcache的內存大小(位元組)
STAT accepting_conns 1 //伺服器是否達到過最大連接(0/1)
STAT listen_disabled_num 0 //失效的監聽數
STAT threads 4 //當前線程數
STAT conn_yields 14 //連接操作主動放棄數目
STAT hash_power_level 16 //
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 30705763
STAT evicted_unfetched 0
STAT bytes 61380700 //當前存儲佔用的位元組數
STAT curr_items 28786 //當前存儲的數據總數
STAT total_items 75441133 //啟動以來存儲的數據總數
STAT evictions 0 //為獲取空閑內存而刪除的items數(分配給memcache的空間用滿後需要刪除舊的items來得到空間分配給新的items)
STAT reclaimed 39957976 //已過期的數據條目來存儲新數據的數目
END
退出:quit或者ctrl + ] 然後在按q就行了。
安裝telenet方法
1、yum install telnet-server 服務端
2、yum install telnet 客戶端
3、vi /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
將disable項由yes改成no。
4、/etc/init.d/xinetd restart
其他方式:
前項目中,linux下memcached的啟動/結束的方式
默認情況下memcached安裝到/usr/local/bin下。
進入安裝目錄,啟動memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root
獲取運行狀態:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached
停止memcached:kill -9 pid (-9表示強制殺死,pid 為進程的進程標識符)
-d 選項是啟動一個守護進程,
-m 是分配給Memcache使用的內存數量,單位是MB,這里是1024MB,默認是64MB
-u 是運行Memcache的用戶,這里是root
-l 是監聽的伺服器IP地址,默認應該是本機
-p 是設置Memcache監聽的埠,默認是11211,最好是1024以上的埠
-c 選項是最大運行的並發連接數,默認是1024,這里設置了10240,按照你伺服器的負載量來設定
-P 是設置保存Memcache的pid文件位置
-h 列印幫助信息
-v 輸出警告和錯誤信息
-vv 列印客戶端的請求和返回信息
ps -ef|grep memcached(命令說明)
grep:功能說明:查找文件里符合條件的字元串。
|:管道命令操作符
ps(process status):功能說明:報告程序狀況。
連接到 memcached:
telnet ip 埠,如telnet 192.168.100.11 11211
stats查看狀態,flush_all:清楚緩存
查看memcached狀態的基本命令,通過這個命令可以看到如下信息:
STAT pid 22459 進程ID
STAT uptime 1027046 伺服器運行秒數
STAT time 1273043062 伺服器當前unix時間戳
STAT version 1.4.4 伺服器版本
STAT pointer_size 64 操作系統字大小(這台伺服器是64位的)
STAT rusage_user 0.040000 進程累計用戶時間
STAT rusage_system 0.260000 進程累計系統時間
STAT curr_connections 10 當前打開連接數
STAT total_connections 82 曾打開的連接總數
STAT connection_structures 13 伺服器分配的連接結構數
STAT cmd_get 54 執行get命令總數
STAT cmd_set 34 執行set命令總數
STAT cmd_flush 3 指向flush_all命令總數
STAT get_hits 9 get命中次數
STAT get_misses 45 get未命中次數
STAT delete_misses 5 delete未命中次數
STAT delete_hits 1 delete命中次數
STAT incr_misses 0 incr未命中次數
STAT incr_hits 0 incr命中次數
STAT decr_misses 0 decr未命中次數
STAT decr_hits 0 decr命中次數
STAT cas_misses 0 cas未命中次數
STAT cas_hits 0 cas命中次數
STAT cas_badval 0 使用擦拭次數
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785 讀取位元組總數
STAT bytes_written 15222 寫入位元組總數
STAT limit_maxbytes 1048576 分配的內存數(位元組)
STAT accepting_conns 1 目前接受的鏈接數
STAT listen_disabled_num 0
STAT threads 4 線程數
STAT conn_yields 0
STAT bytes 0 存儲item位元組數
STAT curr_items 0 item個數
STAT total_items 34 item總數
STAT evictions 0 為獲取空間刪除item的總數
另外一個例子:
啟動/結束
memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid
-d 選項是啟動一個守護進程,
-m 是分配給Memcache使用的內存數量,單位是MB,這里是10MB
-u 是運行Memcache的用戶,這里是root
-l 是監聽的伺服器IP地址,如果有多個地址的話,這里指定了伺服器的IP地址192.168.0.122
-p 是設置Memcache監聽的埠,這里設置了12000,最好是1024以上的埠
-c 選項是最大運行的並發連接數,默認是1024,這里設置了256,按照你伺服器的負載量來設定
-P 是設置保存Memcache的pid文件
kill `cat /tmp/memcached.pid`
獲取運行狀態
echo stats | nc 192.168.1.123 11200
watch "echo stats | nc 192.168.1.123 11200" (實時狀態)
Ⅱ linux怎麼查看memcached安裝目錄
1.由於memcached依賴於libevent,因此需要安裝libevent。由於linux系統可能默認已經安裝libevent,執行命令: rpm -qagrep libevent 查看系統是否帶有該安裝軟體,如果有執行命令: rpm -e libevent-1.4.13-4.el6.x86_64 --nodeps(由於系統自帶的版本舊,忽略依賴刪除) 3. 安裝libevent命令: tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure --prefix=/usr/local/libevent make make install 至此libevent安裝完畢; 安裝過程中出現:configure: error : no acceptable C compiler found in $PATH錯誤時是沒有安裝gcc,運行如下命令: yum install gcc* make* 4. 安裝memcached命令: tar zxvf memcached-1.4.2.tar.gz cd memcached-memcached-1.4.2 ./configure --prefix=/usr/local/memcached --with-libevent= /usr/local/libevent/ make make install 至此memcached安裝完畢; 5.當啟動memcached時經常不能發現libevent.so;可以通過以下命令檢查: 進入/usr/local/memcached/bin目錄 LD_DEBUG=help ./memcached -v LD_DEBUG=libs ./ memcached。
Ⅲ 怎麼刪除memcached服務
一、下載Memercached For Windows 二、安裝步驟 1、解壓到指定目錄,如:C:\Memcached\memcached-win32-1.4.4-14。 2、用cmd打開命令窗口,轉到解壓的目錄,輸入 「memcached.exe -d install」。 3、打開控制面板,打開服務,可以看到memcached已經在上面可,如果沒有啟動,則手動啟動一下。 4、使用telnet命令 驗證緩存伺服器是否可用。 開始什麼都不顯示,回車後輸入命令 stats 查看統計信息,說明伺服器運作正常。 三、參數介紹 1、以上的安裝和啟動都是在默認環境下進行的,在安裝時可設置如下參數: -p 監聽的埠 -l 連接的IP地址, 默認是本機 -d start 啟動memcached服務 -d restart 重起memcached服務 -d stopshutdown 關閉正在運行的memcached服務 -d install 安裝memcached服務 -d uninstall 卸載memcached服務 -u 以的身份運行 (僅在以root運行的時候有效) -m 最大內存使用,單位MB。默認64MB -M 內存耗盡時返回錯誤,而不是刪除項 -c 最大同時連接數,默認是1024 -f 塊大小增長因子,默認是1.25 -n 最小分配空間,key+value+flags默認是48 -h 顯示幫助 如:「memcached -d install -l 127.0.0.1 -m 1024 -c2048」。 2、如果在安裝時沒有添加參數,可通過修改注冊表信息進行設置,打開注冊表,找 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached 在其中有一個「ImagePath」項,值為: "C:\Memcached\memcached-win32-1.4.4-14\memcached.exe" -d runservice 在後面加上「-m 1024 -c2048」。如下圖: 3、輸入stats命令後,頁面出現的參數介紹。 STAT pid 4356 伺服器進程ID STAT uptime 56625 伺服器運行時間,單位秒 STAT time 1225249079 伺服器當前的UNIX時間 STAT version1.1.0伺服器的版本號 STAT pointer_size 64 STAT rusage_user 151.845489 該進程累計的用戶時間(秒:微妙) STAT rusage_system 121.667603 該進程累計的系統時間(秒:微妙) STAT ibuffer_size 4096 STAT curr_connections 13 連接數量 STAT total_connections 54136 伺服器運行以來接受的連接總數 STAT connection_structures 318 伺服器分配的連接結構的數量 STAT cmd_get 100595 取回請求總數 STAT cmd_set 6510 存儲請求總數 STAT get_hits 96543 請求成功的總次數 STAT get_misses 4052 請求失敗的總次數 STAT bytes_read 4427679 伺服器從網路讀取到的總位元組數 STAT bytes_written 6585596 伺服器向網路發送的總位元組數 備註: uptime 是memcached運行的秒數, cmd_get是查詢緩存的次數。 cmd_get/uptime得到平均每秒請求緩存的次數。 cmd_set是設置key=>value的次數。整個memcached是個大hash,用cmd_get沒有找到的內容,就會調用cmd_set寫進緩存里。 get_hits是緩存命中的次數,緩存命中率 = get_hits/cmd_get *100%。 get_misses加上get_hits等於cmd_get。 total_itemscurr_items表示現在在緩存中的鍵值對個數。 total_items == cmd_set == get_misses,不過當可用最大內存用光時,如果memcached設置為刪掉內容,上面的等式就不成立了。
Ⅳ linux 怎麼下memcached
linux查看memcached狀態[root@linuxAS6-iCloud xinetd.d]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.statsSTAT pid 22362 //memcache伺服器的進程ID STAT uptime 1469315 //伺服器已經運行的秒數STAT time 1339671194 //伺服器當前的unix時間戳STAT version 1.4.9 //memcache版本STAT libevent 1.4.9-stable //libevent版本STAT pointer_size 64 //當前操作系統的指針大小(32位系統一般是32bit,64就是64位操作系統)STAT rusage_user 3695.485200 //進程的累計用戶時間STAT rusage_system 14751.273465 //進程的累計系統時間STAT curr_connections 69 //伺服器當前存儲的items數量STAT total_connections 855430 //從伺服器啟動以後存儲的items總數量STAT connection_structures 74 //伺服器分配的連接構造數STAT reserved_fds 20 //STAT cmd_get 328806688 //get命令(獲取)總請求次數STAT cmd_set 75441133 //set命令(保存)總請求次數 STAT cmd_flush 34 //flush命令請求次數STAT cmd_touch 0 //touch命令請求次數STAT get_hits 253547177 //總命中次數STAT get_misses 75259511 //總未命中次數STAT delete_misses 4 //delete命令未命中次數STAT delete_hits 565730 //delete命令命中次數STAT incr_misses 0 //incr命令未命中次數STAT incr_hits 0 //incr命令命中次數STAT decr_misses 0 //decr命令未命中次數STAT decr_hits 0 //decr命令命中次數STAT cas_misses 0 //cas命令未命中次數STAT cas_hits 0 //cas命令命中次數STAT cas_badval 0 //使用擦拭次數STAT touch_hits 0 //touch命令未命中次數STAT touch_misses 0 //touch命令命中次數STAT auth_cmds 0 //認證命令處理的次數STAT auth_errors 0 //認證失敗數目STAT bytes_read 545701515844 //總讀取位元組數(請求位元組數)STAT bytes_written 1649639749866 //總發送位元組數(結果位元組數)STAT limit_maxbytes 2147483648 //分配給memcache的內存大小(位元組)STAT accepting_conns 1 //伺服器是否達到過最大連接(0/1)STAT listen_disabled_num 0 //失效的監聽數STAT threads 4 //當前線程數STAT conn_yields 14 //連接操作主動放棄數目STAT hash_power_level 16 //STAT hash_bytes 524288STAT hash_is_expanding 0STAT expired_unfetched 30705763STAT evicted_unfetched 0STAT bytes 61380700 //當前存儲佔用的位元組數STAT curr_items 28786 //當前存儲的數據總數STAT total_items 75441133 //啟動以來存儲的數據總數STAT evictions 0 //為獲取空閑內存而刪除的items數(分配給memcache的空間用滿後需要刪除舊的items來得到空間分配給新的items)STAT reclaimed 39957976 //已過期的數據條目來存儲新數據的數目END退出:quit或者ctrl + ] 然後在按q就行了。安裝telenet方法1、yum install telnet-server 服務端2、yum install telnet 客戶端3、vi /etc/xinetd.d/telnetservice telnet{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes}將disable項由yes改成no。4、/etc/init.d/xinetd restart其他方式:前項目中,linux下memcached的啟動/結束的方式默認情況下memcached安裝到/usr/local/bin下。進入安裝目錄,啟動memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root獲取運行狀態:echo stats nc localhost 11211(可以查看出pid) 或使用ps -efgrep memcached停止memcached:kill -9 pid (-9表示強制殺死,pid 為進程的進程標識符)-d 選項是啟動一個守護進程,-m 是分配給Memcache使用的內存數量,單位是MB,這里是1024MB,默認是64MB-u 是運行Memcache的用戶,這里是root-l 是監聽的伺服器IP地址,默認應該是本機-p 是設置Memcache監聽的埠,默認是11211,最好是1024以上的埠-c 選項是最大運行的並發連接數,默認是1024,這里設置了10240,按照你伺服器的負載量來設定-P 是設置保存Memcache的pid文件位置-h 列印幫助信息-v 輸出警告和錯誤信息-vv 列印客戶端的請求和返回信息ps -efgrep memcached(命令說明)grep:功能說明:查找文件里符合條件的字元串。:管道命令操作符ps(process status):功能說明:報告程序狀況。連接到 memcached:telnet ip 埠,如telnet 192.168.100.11 11211stats查看狀態,flush_all:清楚緩存查看memcached狀態的基本命令,通過這個命令可以看到如下信息:STAT pid 22459 進程IDSTAT uptime 1027046 伺服器運行秒數STAT time 1273043062 伺服器當前unix時間戳STAT version 1.4.4 伺服器版本STAT pointer_size 64 操作系統字大小(這台伺服器是64位的)STAT rusage_user 0.040000 進程累計用戶時間STAT rusage_system 0.260000 進程累計系統時間STAT curr_connections 10 當前打開連接數STAT total_connections 82 曾打開的連接總數STAT connection_structures 13 伺服器分配的連接結構數STAT cmd_get 54 執行get命令總數STAT cmd_set 34 執行set命令總數STAT cmd_flush 3 指向flush_all命令總數STAT get_hits 9 get命中次數STAT get_misses 45 get未命中次數STAT delete_misses 5 delete未命中次數STAT delete_hits 1 delete命中次數STAT incr_misses 0 incr未命中次數STAT incr_hits 0 incr命中次數STAT decr_misses 0 decr未命中次數STAT decr_hits 0 decr命中次數STAT cas_misses 0 cas未命中次數STAT cas_hits 0 cas命中次數STAT cas_badval 0 使用擦拭次數STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 15785 讀取位元組總數STAT bytes_written 15222 寫入位元組總數STAT limit_maxbytes 1048576 分配的內存數(位元組)STAT accepting_conns 1 目前接受的鏈接數STAT listen_disabled_num 0 STAT threads 4 線程數STAT conn_yields 0STAT bytes 0 存儲item位元組數STAT curr_items 0 item個數STAT total_items 34 item總數STAT evictions 0 為獲取空間刪除item的總數另外一個例子:啟動/結束memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid-d 選項是啟動一個守護進程,-m 是分配給Memcache使用的內存數量,單位是MB,這里是10MB-u 是運行Memcache的用戶,這里是root-l 是監聽的伺服器IP地址,如果有多個地址的話,這里指定了伺服器的IP地址192.168.0.122-p 是設置Memcache監聽的埠,這里設置了12000,最好是1024以上的埠-c 選項是最大運行的並發連接數,默認是1024,這里設置了256,按照你伺服器的負載量來設定-P 是設置保存Memcache的pid文件kill `cat /tmp/memcached.pid`獲取運行狀態echo stats nc 192.168.1.123 11200watch echo stats nc 192.168.1.123 11200 (實時狀態)
Ⅳ 如何在linux上配置memcache
一、什麼是memcache
memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及資料庫檢索的結果等
二、libevent介紹
libevent是一個事件觸發的網路庫,適用於windows、linux、bsd等多種平台,內部使用select、epoll、kqueue等系統調用管理事件機制。著名的用於apache的php緩存庫memcached據說也是libevent based,而且libevent在使用上可以做到跨平台
三、准備工作
下載:memcache:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
下載:http://www.monkey.org/~provos/libevent-1.3.tar.gz
四、安裝過程
1、卸載低版本的libevent
#ls -al /usr/lib |grep libevent
lrwxrwxrwx 1 root root libevent-1.1a.so.1 -> libevent-1.1a.so.1.0.2
-rwxr-xr-x 1 root root libevent-1.1a.so.1.0.2
查看當前libevent版本,如果版本低於1.3,建議先卸載
#rpm -e libevent --nodeps
卸載libevent,
#ls -al /usr/lib |grep libevent
再次查看,卸載成功
2、安裝libevent
#tar zxvf libevent-1.3.tar.gz
解壓libevent
#cd libevent-1.3
#./configure --prefix=/usr
#make
#make install
配置安裝libevent到/usr目錄下
#ls -al /usr/lib |grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
再此查看,安裝libevent1.3版本成功
3、安裝memcached,同時需要安裝中指定libevent的安裝位置
#tar zxvf memcached-1.2.6.tar.gz
#cd memcached-1.2.6
解壓進入mamcache目錄
#./configure --with-libevent=/usr/
#make
#make install
安裝完成後會把memcached放到 /usr/local/bin/memcached
#ls -al /usr/local/bin/memcached
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
查看memcache安裝成功
五、memcached的基本設置
#/usr/local/bin/memcached -d -m 2000 -u root -p 12000 -c 256 -P ./memcached.pid
1.啟動Memcache的伺服器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,
-u是運行Memcache的用戶,我這里是root,
-l是監聽的伺服器IP地址,如果有多個地址的話,我這里指定了伺服器的IP地址192.168.0.200,
-p是設置Memcache監聽的埠,我這里設置了12000,最好是1024以上的埠,
-c選項是最大運行的並發連接數,默認是1024,我這里設置了256,按照你伺服器的負載量來設定,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,
也可以啟動多個守護進程,不過埠不能重復。
六:客戶端測試
1、下載java_memcached-release_2.5.1.zip
2、創建一個java project,將java_memcached-release_2.5.1.jar包引用。
3、在main函數中,創建2個類,如下
package com.danga.MemCached;
import java.io.Serializable;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class TestObj implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private Long id;
public TestObj()
{
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String toString()
{
return "id:"+this.getId()+";name:"+this.getName();
}
}
package com.danga.MemCached;
import java.io.Serializable;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemcacheTest
{
//create a static client as most installs only need
// a single instance
protected static MemCachedClient mcc = new MemCachedClient();
// set up connection pool once at class load
static
{
// server list and weights
String[] servers ={"192.168.0.226:12000"};
Integer[] weights = { 3 };
// grab an instance of our connection pool
SockIOPool pool = SockIOPool.getInstance();
// set the servers and the weights
pool.setServers( servers );
pool.setWeights( weights );
// set some basic pool settings
// 5 initial, 5 min, and 250 max conns
// and set the max idle time for a conn
// to 6 hours
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 );
// set the sleep for the maint thread
// it will wake up every x seconds and
// maintain the pool size
pool.setMaintSleep( 30 );
// set some TCP settings
// disable nagle
// set the read timeout to 3 secs
// and don't set a connect timeout
pool.setNagle( false );
pool.setSocketTO( 3000 );
pool.setSocketConnectTO( 0 );
// initialize the connection pool
pool.initialize();
// lets set some compression on for the client
// compress anything larger than 64k
mcc.setCompressEnable( true );
mcc.setCompressThreshold( 64 * 1024 );
}
public static void bulidCache()
{
mcc.set( "foo", "This is a test String" );
TestObj obj = new TestObj();
obj.setId(new Long(1));
obj.setName("test");
mcc.set("testObj", obj);
}
// from here on down, you can call any of the client calls
public static void output()
{
//
String bar = (String) mcc.get( "foo" );
System.out.println(bar);
TestObj obj = (TestObj)mcc.get("testObj");
System.out.println("ID : "+obj.getId()+"\n"+"Name : "+obj.getName());
}
public static void main(String[] args)
{
bulidCache();
output();
}
}
4、運行結果
This is a test String
ID : 1
Name : test
memcache配置成功~~~~~~~~~~~~~~~~~~~~
Ⅵ MemCache有哪些特點
libevent是個程序庫,它將Linux的epoll、BSD類操作系統的kqueue等事件處理功能封裝成統一的介面。即使對伺服器的連接數增加,也能發揮O(1)的性能。memcached使用這個libevent庫,因此能在Linux、BSD、Solaris等操作系統上發揮其高性能。
O(1)是資料庫里的執行速度,有一個比較快的性能。
存儲方式
為了提高性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。由於數據僅存在於內存中,因此重啟memcached、重啟操作系統會導致全部數據消失。另外,內容容量達到指定值之後,就基於LRU(Least Recently Used)演算法自動刪除不使用的緩存。memcached本身是為緩存而設計的伺服器,因此並沒有過多考慮數據的永久性問題。
通信分布式
memcached盡管是「分布式」緩存伺服器,但伺服器端並沒有分布式功能。各個memcached不會互相通信以共享信息。那麼,怎樣進行分布式呢?這完全取決於客戶端的實現。如取余,一致性哈希,都可以解決分布式的問題。
底層客戶端並沒有給我們做一些底層的演算法問題,比如我想做一個memcached的分布式,他不會自動進行分布式。
Ⅶ window下memcache怎麼卸載
方法/步驟 1 將下載的memcached.exe文件放到磁碟固定的地方,不要刪除。 打開開始菜單,在輸入框里輸入cmd按回車。 2 在出現的彈出窗中輸入c:\memcached\memcached.exe -d install 3 再輸入: 'c:\memcached\memcached.exe -d start' 啟動。NOTE...
Ⅷ linux memcached 怎麼使用
當前項目中,linux下memcached的啟動/結束的方式
默認情況下memcached安裝到/usr/local/bin下。
進入安裝目錄,啟動memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root
獲取運行狀態:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached
停止memcached:kill -9 pid (-9表示強制殺死,pid 為進程的進程標識符)
-d 選項是啟動一個守護進程,
-m 是分配給Memcache使用的內存數量,單位是MB,這里是1024MB,默認是64MB
-u 是運行Memcache的用戶,這里是root
-l 是監聽的伺服器IP地址,默認應該是本機
-p 是設置Memcache監聽的埠,默認是11211,最好是1024以上的埠
-c 選項是最大運行的並發連接數,默認是1024,這里設置了10240,按照你伺服器的負載量來設定
-P 是設置保存Memcache的pid文件位置
-h 列印幫助信息
-v 輸出警告和錯誤信息
-vv 列印客戶端的請求和返回信息
ps -ef|grep memcached(命令說明)
grep:功能說明:查找文件里符合條件的字元串。
|:管道命令操作符
ps(process status):功能說明:報告程序狀況。
連接到 memcached:
telnet ip 埠,如telnet 192.168.100.11 11211
stats查看狀態,flush_all:清楚緩存
查看memcached狀態的基本命令,通過這個命令可以看到如下信息:
STAT pid 22459 進程ID
STAT uptime 1027046 伺服器運行秒數
STAT time 1273043062 伺服器當前unix時間戳
STAT version 1.4.4 伺服器版本
STAT pointer_size 64 操作系統字大小(這台伺服器是64位的)
STAT rusage_user 0.040000 進程累計用戶時間
STAT rusage_system 0.260000 進程累計系統時間
STAT curr_connections 10 當前打開連接數
STAT total_connections 82 曾打開的連接總數
STAT connection_structures 13 伺服器分配的連接結構數
STAT cmd_get 54 執行get命令總數
STAT cmd_set 34 執行set命令總數
STAT cmd_flush 3 指向flush_all命令總數
STAT get_hits 9 get命中次數
STAT get_misses 45 get未命中次數
STAT delete_misses 5 delete未命中次數
STAT delete_hits 1 delete命中次數
STAT incr_misses 0 incr未命中次數
STAT incr_hits 0 incr命中次數
STAT decr_misses 0 decr未命中次數
STAT decr_hits 0 decr命中次數
STAT cas_misses 0 cas未命中次數
STAT cas_hits 0 cas命中次數
STAT cas_badval 0 使用擦拭次數
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785 讀取位元組總數
STAT bytes_written 15222 寫入位元組總數
STAT limit_maxbytes 1048576 分配的內存數(位元組)
STAT accepting_conns 1 目前接受的鏈接數
STAT listen_disabled_num 0
STAT threads 4 線程數
STAT conn_yields 0
STAT bytes 0 存儲item位元組數
STAT curr_items 0 item個數
STAT total_items 34 item總數
STAT evictions 0 為獲取空間刪除item的總數
另外一個例子:
啟動/結束
memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid
-d 選項是啟動一個守護進程,
-m 是分配給Memcache使用的內存數量,單位是MB,這里是10MB
-u 是運行Memcache的用戶,這里是root
-l 是監聽的伺服器IP地址,如果有多個地址的話,這里指定了伺服器的IP地址192.168.0.122
-p 是設置Memcache監聽的埠,這里設置了12000,最好是1024以上的埠
-c 選項是最大運行的並發連接數,默認是1024,這里設置了256,按照你伺服器的負載量來設定
-P 是設置保存Memcache的pid文件
kill `cat /tmp/memcached.pid`
獲取運行狀態
echo stats | nc 192.168.1.123 11200
watch "echo stats | nc 192.168.1.123 11200" (實時狀態)
Ⅸ 在linux中啟動memcached出問題!
MemCache是高性能分布式內存對象緩存系統(將數據調用到內存中,然後在內存中讀取,從而大大提高讀取速度)
Memcached安裝與啟動:
安裝memcached需要先安裝libevent
Shell>tar zxvf libevent-1.4.14b-stable.tar.gz
Shell>cd libevent-1.4.14b-stable
Shell>./configure
Shell>make && make install
安裝memcached
Shell>tar zxvf memcached-1.2.5.tar.tar
Shell>cd memcached-1.2.5
Shell>./configure –prefix=/usr/local/memcached
Shell>make && make install
啟動memcached
Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid
-P是表示使用TCP,默認埠為11211
-d表示後台啟動一個守護進程(daemon)
-u表示指定root用戶啟動,默認不能用root用戶啟動
-P表示進程的pid存放地點,此處「p」為大寫「P」
-l,後面跟IP地址,手工指定監聽IP地址,默認所有IP都在監聽
-m後面跟分配內存大小,以MB為單位,默認為64M
-c最大運行並發連接數,默認為1024
-f 塊大小增長因子,默認是1.25
-M 內存耗盡時返回錯誤,而不是刪除項,即不用LRU演算法