分散式快取系統之Memcached
簡單介紹:
Memcache快取資料庫:減少資料庫壓力。高效能的分散式記憶體快取伺服器,用於動態Web應用,減少I/O,提高web訪問速度以減輕資料庫負載,以提高動態Web應用的速度、提高可擴充套件性。利用 Memcached 處理實時資料讀寫;MySQL是影響效能的最大瓶頸,可以用一臺MySQL主庫(只寫)+多臺MySQL輔庫(只讀)的主輔庫叢集來解決。另外,訪問計數等實時性很強的東西用Memcache做快取。基於c#語言寫的呼叫libevent庫事件來實現。
1. hash表結構:key、value存取方式
2. 工作方式:memcached是以守護程式方式執行一個或多個伺服器中,隨時會接受客戶端(如:PHP)連線或操作。
Linux安裝配置
一、Memcached安裝
1
2
3
4
5
6
|
wget http: //memcached .googlecode.com /files/memcached-1 .4.10. tar .gz
yum install libevent libevent-devel #安裝Memcached元件
tar zxvf memcached-1.4.10. tar .gz
cd memcached-1.4.10
. /configure
make && make install
|
檢視是否成功安裝memcached
1
2
3
|
ls -al /usr/local/bin/mem *
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug
|
二、安裝Memcache的PHP擴充套件
1
2
3
4
5
6
|
wget http: //pecl .php.net /get/memcache-3 .0.6.tgz
tar zvxf memcache-3.0.6.tgz
cd memcache-3.0.6
/usr/local/php/bin/phpize . /configure –with-php-config= /usr/local/php/bin/php-config
make && make installmemcache模組
|
使php載入memcache模組
1
2
|
vi /etc/php .ini
extension=memcache.so |
三、啟動Memcache的伺服器端:
1
|
/usr/local/bin/memcached -d -m 128 -l 192.168.0.10 -p 11211
|
-d選項是啟動一個守護程式,
-m是分配給Memcache使用的記憶體數量,單位是MB
-u是執行Memcache的使用者
-l是監聽的伺服器IP地址
-p是設定Memcache監聽的埠,最好是1024以上的埠
-c選項是最大執行的併發連線數,預設是1024,根據你伺服器的負載量來設定
-P是設定儲存Memcache的pid檔案,我這裡是儲存在 /tmp/memcached.pid,
結束Memcache程式,執行:killall memcached
Windows安裝配置:
下載Memcached:http://ishare.iask.sina.com.cn/f/36094281.html
下載5.3php_memcache.dll:http://code.google.com/p/sirius/downloads/detail?name=php_memcache.dll&can=2&q=
一、Memcached和Memcache安裝:
1、 下載memcache的windows穩定版,解壓放某個盤下面,比如在c:memcached
2、 CMD頁面下輸入 ‘c:memcachedmemcached.exe -d install’ #安裝memcached到系統服務
3、安裝php_memcache.dll,下載對應的php版本
4、載入memcache客戶端,在C:winntphp.ini 加入一行 ‘extension=php_memcache.dll’
5、啟動memcached:
c:memcachedmemcached.exe -d –m 128 –l 127.0.0.1 –p 11211 start #預設埠:11211
二、Memcache環境測試:
1.重新啟動Apache,然後檢視一下phpinfo,如果有memcache,那麼就說明安裝成功!
2.也可以執行下面的php檔案,如果有輸出This is a test!,就表示環境搭建成功。
1
2
3
4
5
6
7
|
< ?php $mem = new Memcache; $mem->connect(“127.0.0.1″, 11211); $mem-> set (‘key’, ‘This is a test !’, 0, 60);
$val = $mem->get(‘key’); echo $val;
?> |
其他測試:telnet 192.168.0.202 11211或phpinfo()
常用命令:status、version、flush_all、quit、get、add、set
本文轉自 李振良OK 51CTO部落格,原文連結:http://blog.51cto.com/lizhenliang/1290430,如需轉載請自行聯絡原作者
相關文章
- 分散式系統中有哪些快取?分散式快取
- 分散式系統快取系列一 認識快取分散式快取
- 解析分散式系統的快取設計分散式快取
- 分散式之快取擊穿分散式快取
- LNMP 分散式叢集(四):Memcached 快取伺服器的搭建LNMP分散式快取伺服器
- 分散式快取分散式快取
- 理解分散式系統中的快取架構(下)分散式快取架構
- 理解分散式系統中的快取架構(上)分散式快取架構
- 大型分散式網站架構:快取在分散式系統中的應用分散式網站架構快取
- 詳談分散式系統快取的設計細節分散式快取
- 聊聊分散式快取分散式快取
- 分散式快取方案分散式快取
- redis→分散式快取Redis分散式快取
- 聊聊本地快取和分散式快取快取分散式
- 分散式系統關注點(18)——「快取穿透」和「快取雪崩」到底啥區別?分散式快取穿透
- 分散式系統關注點——360°全方位解讀「快取」分散式快取
- Alluxio在多級分散式快取系統中的應用UX分散式快取
- 分散式系統關注點——先寫DB還是「快取」?分散式快取
- 深入理解分散式系統中的快取架構(下)分散式快取架構
- 分散式快取NCache使用分散式快取
- SmartSql Redis 分散式快取SQLRedis分散式快取
- 分散式快取擊穿分散式快取
- Redis——快取穿透、快取擊穿、快取雪崩、分散式鎖Redis快取穿透分散式
- 分散式快取 - 快取簡介,常用快取演算法分散式快取演算法
- k04_分散式快取分散式快取
- 分散式快取基礎教程分散式快取
- 雲上的分散式快取分散式快取
- 分散式快取 - 概念解釋分散式快取
- 用Java寫一個分散式快取——快取管理Java分散式快取
- 讀構建可擴充套件分散式系統:方法與實踐05分散式快取套件分散式快取
- 從快取到分散式快取的那些事快取分散式
- memcached分散式原理與實現分散式
- 分散式快取架構綜述分散式快取架構
- 分散式檔案系統之 FastDFS分散式AST
- 分散式之系統底層原理分散式
- Elasticsearch——分散式文件系統之documentElasticsearch分散式
- ASP.NET Core - 快取之分散式快取ASP.NET快取分散式
- Gitlab Runner的分散式快取實戰Gitlab分散式快取
- 《分散式快取》讀書筆記二分散式快取筆記