分布式缓存系统之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:\memcached\memcached.exe -d install’ #安裝memcached到系統服務
3、安裝php_memcache.dll,下載對應的php版本
4、加載memcache客戶端,在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
5、啟動memcached:
c:\memcached\memcached.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,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的分布式缓存系统之Memcached的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS7为什么遭吐槽?
- 下一篇: PHP类的原理