python-呼叫外部程式
阿新 • • 發佈:2022-05-08
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