? ? ? Memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然后從內存中讀取,從而大大提高讀取速度。
memcached是一種無阻塞的socket通信方式服務,基于libevent庫,由于無阻塞通信,對內存讀寫速度非常之快。
一、linux下
安裝libevent時
./configure -with-libevent=/nsr
Make&& make install
安裝memcached
./configure -with-libevent=nsr
Make&& make install
啟動:Memcached -d -m 128 -1 192.168.1.111 -p 11211 -u root
停止:kill cat/tmp/memcached pid;
Kill all memcached
二、windows 使用編譯完的軟件
下載地址 : http://files.cnblogs.com/files/sai564/memcached.zip
memcached.exe -d install(unstall)
memcached.exe -d start
或memcached.exe -d -m 50 -1 127.0.0.1 -p 11211 start
-p <num> 設置TCP端口號(默認不設置為: 11211)
-U <num> UDP監聽端口(默認: 11211, 0 時關閉)
-l <ip_addr> 綁定地址(默認:所有都允許,無論內外網或者本機更換IP,有安全隱患,若設置為127.0.0.1就只能本機訪問)
-d 以daemon方式運行
-u <username> 綁定使用指定用于運行進程<username>
-m <num> 允許最大內存用量,單位M (默認: 64 MB)
-P <file> 將PID寫入文件<file>,這樣可以使得后邊進行快速進程終止, 需要與-d 一起使用
?
命令例子:
telnet localhost 11211
stats
1、添加例子:
add myvar1 1 3600 10
helloworld
2、獲取:get myvar1
3、設置例子:
set myvar1 1 3600 10
aaaaaaaaaa
4、stats items
5、stats cachedump 1 0
三、在PHP中使用memcached
下載地址
:
http://files.cnblogs.com/files/sai564/memcache_dll.rar
1、增加php_memcache.dll到ext和php.ini(前提也要裝memcached.exe)
使用地方:
a、數據庫讀出來的數據(select)使用memcache處理
b、會話(session)控制中使用
注意:
1、同意項目安裝兩次:加不同前綴,可以sql語句
四、安全性
1、內網訪問,指定IP
memcache -d -u root -1 192.168.1.111 -p 11211
2、外網:設置防火墻
Iptables -A INPUT -p tcp -s 192.168.1.111 --dport 11211 --j ACCEPT
Iptables -A INPUT -p udp -s 192.168.1.111 --dport 11211 --j ACCEPT
五、thinkphp使用
在Conf/config.php 中添加:
'DATA_CACHE_TYPE' => 'Memcache',
'MEMCACHE_HOST' => 'tcp://127.0.0.1:11211',
'DATA_CACHE_TIME' => '3600',
根據調試信息修改下面:
return $this->handler->set($name, $value, 0, $expire);
另外,需要在某個action里清除所有緩存的時候可以這樣實現:
$cache = Cache::getInstance();
$cache ->clear();
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
