天天看點

初識Memcache---(1)memcache安裝與啟動

幫别的項目組解決問題時,發現他們用了memcache。雖然我們目前沒有用到,但感覺了解下還是必要的,是以親自動手,從最初的安裝配置入手,這裡着重記錄下安裝過程中出現的錯誤及解決方案,也給大家提供參考。

網上對于Memcache的介紹很多,這裡我摘錄了一個比較直白的介紹:

Memcache是自由、源碼開放、高性能、分布式的分布式記憶體對象緩存系統,用于動态Web應用以減輕資料庫的負載。它通過在記憶體中緩存資料和對象來減少讀取資料庫的次數,進而提高了網站通路的速度。

1、安裝memcache服務端

安裝memcached需要先安裝libevent,安裝指令如下:

Debian/Ubuntu: apt-get install libevent-dev 
Redhat/Centos: yum install libevent-devel
           

檢視安裝是否成功libevent

安裝Memcached

[root@localhost installPackage]# tar -zxvf memcached-1.4.34.tar.gz
[root@localhost installPackage]# cd memcached-1.4.34
[root@localhost memcached-.]# ./configure && make && make test && sudo make install
           

檢查memcached是否安裝成功:

初識Memcache---(1)memcache安裝與啟動

安裝過程中可能遇到的錯誤:

(1)沒有安裝gcc編譯器

初識Memcache---(1)memcache安裝與啟動

解決方法:

[[email protected] memcached-1.4.34]# yum install gcc make (如果有沒有安裝gcc編譯器,make,先安裝)

(2)如果make test時出現下面Error,沒有安裝perl

初識Memcache---(1)memcache安裝與啟動

解決方法:

[[email protected] memcached-1.4.34]# yum install perl-Test*

(3)檢測到時鐘錯誤。您的建立可能是不完整的

初識Memcache---(1)memcache安裝與啟動

解決方法:

修改目前時間:
[root@localhost ~]# date -s '2017/2/24 13:47:00'
Fri Feb  :: CST 
将目前系統時間寫入CMOS中去
[root@localhost ~]# clock -w
           

如下圖:

初識Memcache---(1)memcache安裝與啟動

2、啟動Memcache服務

執行指令:

指令詳解:

memcached指令參數解釋:

-p 監聽的端口

-l 連接配接的IP位址, 預設是本機

-d start 啟動memcached 服務

-d restart 重起memcached 服務

-d stop|shutdown 關閉正在運作的memcached 服務

-d install 安裝memcached 服務

-d uninstall 解除安裝memcached 服務

-u 以的身份運作 (僅在以root運作的時候有效)

-m 最大記憶體使用,機關MB。預設64MB

-M 記憶體耗盡時傳回錯誤,而不是删除項

-c 最大同時連接配接數,預設是1024

-f 塊大小增長因子,預設是1.25

-n 最小配置設定空間,key+value+flags預設是48

-h 顯示幫助

-P 是儲存Memcache的pid檔案,這裡儲存在 /tmp/memcached.pid

3、測試啟動是否成功

用telnet測試是否可以連接配接到memcache

成功會顯示如下資訊:

初識Memcache---(1)memcache安裝與啟動

本次測試中出現如下資訊:

初識Memcache---(1)memcache安裝與啟動

出現上面的圖檔所示錯誤,原因之一是防火牆沒有添加規則。

1) 關閉伺服器端防火牆

2) 添加防火牆規則

[root@localhost memcached-.]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT     //增加規則,還未增加到/etc/sysconfig/iptables檔案裡
[root@localhost memcached-.]# service iptables save  将規則儲存在/etc/sysconfig/iptables檔案裡
 [root@localhost memcached-.]# service iptables restart
如果還是報同樣的錯誤:執行指令
[root@localhost memcached-.]# iptables –F  //清空規則緩沖區

一定要注意執行順序。
           

現在伺服器端Memcache已安裝好,我們可以執行指令看下效果:

初識Memcache---(1)memcache安裝與啟動

回車後系統自動儲存,并傳回正常值STORED

存入指令格式為

\r\n

注意在設定bytes位元組後,存入的值的長度一定要與之比對,否則無法儲存成功,像name字段為4位元組,是以存入的hell長度為4。

Memcache使用注意事項

  1. Key的最大長度是250個字元
  2. Key不能有空格和控制字元
  3. 過期時間最長為30天,如果時間大于30天,值會設定為不緩存
  4. 最大能存儲的單個item不能大于1MB,可考慮在用戶端拆分到多個key中

繼續閱讀