1. 程式人生 > 其它 >python-呼叫外部程式

python-呼叫外部程式

Memcached是一個自由開源的,高效能,分散式記憶體物件快取系統。

Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric為首開發的一款軟體。現在已成為mixi、hatena、Facebook、Vox、LiveJournal等眾多服務中提高Web應用擴充套件性的重要因素。

Memcached是一種基於記憶體的key-value儲存是一個儲存鍵值對的Hashmap,用來儲存小塊的任意資料(字串、物件)。這些資料可以是資料庫呼叫、API呼叫或者是頁面渲染的結果。

Memcached簡潔而強大。它的簡潔設計便於快速開發,減輕開發難度,解決了大資料量快取的很多問題。它的API相容大部分流行的開發語言。本質上,它是一個簡潔的key-value儲存系統。

一般的使用目的是,通過快取資料庫查詢結果,減少資料庫訪問次數,以提高動態Web應用的速度、提高可擴充套件性。

特徵

memcached作為高速執行的分散式快取伺服器,具有以下的特點。

  • 協議簡單
  • 基於libevent的事件處理
  • 內建記憶體儲存方式
  • memcached不互相通訊的分散式

Memcached安裝

安裝

yum install libevent libevent-devel -y         #安裝

Libevent:是一個用C語言編寫的、輕量級的開源高效能事件通知庫

安裝Memcached

yum安裝

yum install memcached libmemcached -y    #yum安裝Memcached

Memcached執行

memcached -h    #幫助命令

常用選項:

選項 作用
-d 啟動一個守護程序
-m 分配給Memcached使用記憶體,單位是MB
-u 執行Memcached的使用者
-l 監聽的伺服器IP地址,可以有多個
-p 設定服務的監聽埠,最好是1024以上
-c 最大併發連線數,1024
-P 設定儲存Memcache的pid檔案
-v/vv/vvv 正常/詳細/更詳細列印客戶端命令

建立使用者

Memcached不能用root使用者使用引數執行,所以我們需要再建立一個普通使用者

useradd memcache    #建立使用者
passwd memcache        #設定密碼

啟動服務

memcached -p 11211 -u memcache -m 64m -vv    #前臺啟動memcached
memcached -p 11211 -u memcache -m 64m -d    #後臺啟動memcached

Memcached連線

我們可以通過 telnet 命令並指定主機ip和埠來連線 Memcached 服務。

yum install -y telnet    #安裝telnet

注意:telnet是明文傳輸哦!

telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

set foo 0 0 3    #儲存命令
bar                #資料
STORED            #結果
get foo            #取得命令
VALUE foo 0 3    #資料
bar                #資料
END                #結束行
quit            #退出

PHP使用Memcached服務

在前面章節中我們已經介紹瞭如何安裝 Memcached 服務,接下來我們為大家介紹 PHP 如何使用 Memcached 服務。

yum install php php-devel zlib-devel gcc -y    #安裝PHP和一些必要的庫

wget http://pecl.php.net/get/memcache-2.2.7.tgz    #獲取最新穩定包
tar -zxf memcache-2.2.7.tgz                        #解壓安裝
cd memcache-2.2.7                #進入資料夾
phpize                        #安裝php的擴充套件檔案工具
./configure --with-php-config=/usr/bin/php-config && make && make install                        #編譯安裝

#Installing shared extensions:     /usr/lib64/php/modules/
#安裝完成的擴充套件路徑

phpize

 最後編譯完成介面

 擴充套件路徑

 修改配置檔案,新增擴充套件

vim /etc/php.ini        #進入php.ini配置檔案

 檢查擴充套件是否新增成功:

php -m|grep memcache
vim 1.php    #建立php檔案 隨意新增內容
php 1.php