php memcached的實例用法詳解

1、啟動Memcached。

2、使用ps命令查看一下運行狀態。

3、創建一個Memcached對象。

4、通過add和get方法添加數據即可。

記得一定要先啟動Memcached哦!

[root@localhost ~]# /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root

-d 守護進程模式(退出終端窗口之後使程序還在運行),-l 指定IP地址127.0.0.1 ,-p 指定端口號11211,-m 為memcached分配多少內存(單位:M),-u 指定使用哪個用戶啟動memcached

使用ps命令查看一下運行狀態:

[root@localhost ~]# ps -ef | grep memcached

知識點擴充:

一、memcached 簡介

memcached是高性能的分佈式內存緩存服務器。一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。它可以應對任意多個連接,使用非阻塞的網絡IO。由於它的工作機制是在內存中開辟一塊空間,然後建立一個HashTable,Memcached自管理這些HashTable。

二、memcached 安裝

首先是下載 memcached 瞭,目前最新版本是 1.1.12,直接從官方網站即可下載到 memcached-1.1.12.tar.gz。除此之外,memcached 用到瞭 libevent,我下載的是 libevent-1.1a.tar.gz。

接下來是分別將 libevent-1.1a.tar.gz 和 memcached-1.1.12.tar.gz 解開包、編譯、安裝:

# tar -xzf libevent-1.1a.tar.gz # cd libevent-1.1a# ./configure –prefix=/usr# make# make install# cd .. # tar -xzf memcached-1.1.12.tar.gz# cd memcached-1.1.12 # ./configure –prefix=/usr# make# make install

安裝完成之後,memcached 應該在 /usr/bin/memcached。

三、運行 memcached 守護程序

運行 memcached 守護程序很簡單,隻需一個命令行即可,不需要修改任何配置文件(也沒有配置文件給你修改 ):

/usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd

參數解釋:

-d 以守護程序(daemon)方式運行 memcached;

-m 設置 memcached 可以使用的內存大小,單位為 M;

-l 設置監聽的 IP 地址,如果是本機的話,通常可以不設置此參數;

-p 設置監聽的端口,默認為 11211,所以也可以不設置此參數;

-u 指定用戶,如果當前為 root 的話,需要使用此參數指定用戶。

當然,還有其它參數可以用,man memcached 一下就可以看到瞭。

四、memcached 的工作原理

首先 memcached 是以守護程序方式運行於一個或多個服務器中,隨時接受客戶端的連接操作,客戶端可以由各種語言編寫,目前已知的客戶端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。PHP 等客戶端在與 memcached 服務建立連接之後,接下來的事情就是存取對象瞭,每個被存取的對象都有一個唯一的標識符 key,存取操作均通過這個 key 進行,保存到 memcached 中的對象實際上是放置內存中的,並不是保存在 cache 文件中的,這也是為什麼 memcached 能夠如此高效快速的原因。註意,這些對象並不是持久的,服務停止之後,裡邊的數據就會丟失。

五、PHP 如何作為 memcached 客戶端

有兩種方法可以使 PHP 作為 memcached 客戶端,調用 memcached 的服務進行對象存取操作。

第一種,PHP 有一個叫做 memcache 的擴展,Linux 下編譯時需要帶上 –enable-memcache[=DIR] 選項,Window 下則在 php.ini 中去掉 php_memcache.dll 前邊的註釋符,使其可用。

除此之外,還有一種方法,可以避開擴展、重新編譯所帶來的麻煩,那就是直接使用 php-memcached-client。

本文選用第二種方式,雖然效率會比擴展庫稍差一些,但問題不大。

到此這篇關於php memcached的實例用法詳解的文章就介紹到這瞭,更多相關php memcached的用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: