memcached是一種高效能的分布式記憶體快取伺服器。一般的使用目的是通過快取資料查詢結果,減少資料庫訪問次數,以提高動態weib應用的速度/提高可擴增性。memcached有以下特點:
協議簡單
基於libevent的事件處理
內建記憶體儲存方式
memcached不互相通訊的分布式
libevent是個程式庫,他將linux的epoll,bsd類作業系統的kqueue等事件處理功能封裝成統一的介面。即使對伺服器的連線數增加,也能發揮o(1)的效能。
為了提高效能,memcached中儲存的資料都儲存在memcached內建的記憶體儲存空間中。由於資料僅存在於記憶體中,因此重啟memcached或者重啟作業系統會導致全部資料消失。另外,內容容量達到定植後,就基於lru(最近最少使用)演算法自動刪除不使用的快取。memcached本身是為快取設計的伺服器,因此並沒有過多考慮資料的永久性問題
memcached儘管是分布式快取伺服器,但伺服器端並沒有分布式功能。各個memcached不會互相通訊以共享資訊。
安裝與使用memcached
cd libevent
./configure
make
sudo make install
命令第一行的「libenvent」換成你解壓的資料夾
這樣就安裝好了libevent
啟動memcached:./memcached -d -m 2048 -l 127.0.0.1 -p 10000
解釋一下: -d:啟動乙個守護執行緒,-m表示分配給memcached使用的記憶體,單位是mb;-l是監聽伺服器的ip位址;-p是設定memcached監聽的埠;-c可以設定最大併發連線數;-p是設定儲存memcached的pid檔案
連線到memcached: telnet localhost 10000
如果配置正常,會看到:connected to localhost
基本的memcached命令:
setadd
replace
getdelete
命令語法:
command 《key》
key和hash表的key是一樣的概念
flags儲存關於鍵值對的額為資訊
expiration time:在快取中儲存的時間,0表示永遠
bytes在快取中儲存的字節點
value位於第二行,儲存的值
如:set userid 0 0 6
stored
使用set命令向伺服器新增了乙個鍵值對,如果新增成功,會返回stored;如果已經存在這樣的鍵,則覆蓋
add命令在僅當快取中不存在這個鍵值時,才會新增,如果快取中已經存在,則不新增,伺服器會返回not_stored
replace僅當鍵存在時才會替換
get則是根據鍵值獲取value
delete刪除制定的鍵值對
stats命令可以統計資料,比如檢視快取命中率,使用這個命令可以看到memcached的一些狀態,如get_hits和get_missed分別表示快取命中次數和快取失效次數
flush_all命令是清理快取中所有鍵值對
如何關閉memcashed客戶端呢?ctrl+]
ubuntu下Eclipse下新增GBK編碼
把windows下的工程匯入到了linux下eclipse中,由於以前的工程 都是gbk編碼的 windows下的eclipse 缺省會去讀取系統的編碼,所以widnwos下的eclipse的編碼為gbk 而ubuntu預設是不支援gbk編碼的。所以,首先我們要先讓 ubuntu支援gbk,方法如下...
ubuntu下源配置
更新源,更新系統 編輯源 sudo gedit etc apt sources.list 配置乙個源足矣,越多越麻煩。系統似乎不會自動識別速度最快的源,源越多隻會導致update和upgrade的速度減慢。中國科學技術大學更新伺服器 教育網,推薦校園網和網通使用者使用 電信cn99的源 推薦電信使用...
UBUNTU下軟體安裝
先簡單說介紹一下ubuntu。ubuntu的中文發音大約為 烏班圖。ubuntu這個單詞源自非洲,意謂 班圖精神 誰都不是一座孤島,自成一體。每個人都包孕於人類,因他人存在而存在,因他人幸福而幸福。下面介紹下在ubuntu下如何裝軟體。linux系統中,軟體通常以源 或者預編譯包的形式提供。1 軟體...