天天看點

學習使用memcached

經過前幾天的低迷和思考,發現自己作為一個有4年java開發經驗的程式員,知道的還是太少了。多數的開發人員學習的都是“如何編寫業務功能”的技術資料,但對于“如何編寫高效、可靠的程式”、“如何定位程式故障”卻知之甚少。最近在寫代碼的時候盡量做到《代碼整潔之道》裡面提到的方法。已經能做到每個方法盡可能的小,但是還是做不到每個類都設計的短小,還要繼續優化自己的代碼,希望自己可以寫出高效可靠的程式。今天了解下OSCache,EHCache和Memcached。記錄一下memcached學習的過程。簡單的講,OSCache 适用于對于頁面的緩存,整頁和部分頁面都可以緩存,還可以指定過期時間。而EHCache主要使用者對資料庫通路進行的緩存,同樣的查詢語句隻需一次通路資料庫。Memcached是分布式對象緩存。傳遞的資訊已鍵值對的形式存儲,傳遞的資料需要實作序列化。

一,什麼是memcached。《代碼整潔之道》說過,不做重複的事情,而且還要簡單明了。google一下有很全的資料

二,安裝。前段時間剛在虛拟機了安裝了centOS 7,就接着在裡面安裝memcached好了。

1,使用root使用者登陸系統,安裝memcached。指令:yum install memcached。一行指令就搞定了。

2,編輯memcached的配置檔案,指令:vi /etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
           

我虛拟機的記憶體設定的是512M,安裝後之後預設的緩存是64M,根據實際的記憶體大小進行設定,這裡學習用的就不做修改了。

3,啟動memcached,指令:systemctl start memcached.service。

4,設定開機自動系統memcached,指令:systemctl enable memcached.service

5,确認memcached的運作狀态,指令:memcached-tool 127.0.0.1:11211 stats

6,設定防火牆,指令:firewall-cmd --permanent --zone=public --add-port=11211/tcp

7,檢視是否開啟遠端,指令:echo stats | nc memcache_host_name_or_ip 11211。如果提示nc沒有找到,則需要安裝nc,指令:yum install nc

8,安裝PHP子產品(如果需要),指令:yum install php php-pecl-memcache

9,重新開機服務,指令:systemctl restart memcached.service systemctl restart httpd.service

三,java用戶端

繼續閱讀