[原創]Centos7 從零編譯配置Redis

來源:互聯網
上載者:User

標籤:

序言

 

Memcached 是一個高效能的分布式記憶體對象緩衝系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和對象來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。

Memcached基於一個儲存鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是用戶端可以用任何語言來編寫,並通過memcached協議與守護進程通訊。

當然memcached分為服務端和用戶端。服務端用來存放緩衝,用戶端用來操作緩衝。

用戶端有兩種常見的實現方式。

第一種是用php代碼根據服務端的通訊規則自己寫一個。

第二種是安裝php擴充庫(php-memcached)。

 

 

目錄

 

一、Centos7 從零編譯配置Memcached

 

 

一、準備工作

 

建立目錄source和package,分別用來放源碼和編譯後的檔案

# mkdir /source/# mkdir /package/

 

 

二、開始安裝

 

2.1 安裝Redis

[官方網站] http://www.redis.io/

命令流程:

# cd /source/# wget http://download.redis.io/releases/redis-3.2.0.tar.gz# tar -zxvf redis-3.2.0.tar.gz
# cd redis-3.2.0# make# cd src

 

2.2 組合產生的檔案

編譯完成後,在src目錄下,有四個可執行檔redis-server、redis-benchmark、redis-cli和redis.conf。然後拷貝到一個目錄下。

命令流程:

mkdir /package/redis
cp redis-server /package/rediscp redis-benchmark /package/rediscp redis-cli /package/rediscp redis.conf /package/rediscd /package/redis

 

 

 

本章總結:

通過以上操作就很簡單的把memcached服務端編譯好了。這時候就可以開啟服務端進行工作了。

# /lnmp/memcached/bin/memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 1024 –P /tmp/memcached.pid
啟動參數說明:-d  選項是啟動一個守護進程。-m  分配給Memcache使用的記憶體數量,單位是MB,預設64MB。-l  監聽的IP地址。(預設:INADDR_ANY,所有地址)-p  設定Memcache的TCP監聽的連接埠,最好是1024以上的連接埠。-u  運行Memcache的使用者,如果當前為root的話,需要使用此參數指定使用者。-c  選項是最大啟動並執行並發串連數,預設是1024。-P  設定儲存Memcache的pid檔案。

 

 

三、memcached(用戶端篇)

  第一種:php代碼

 

這種方法實現用戶端最簡單,直接下載我寫的《SL_Memcached》類庫include到自己的項目裡調用相關對象就行了。

當然,你也可以用其他語言實現。這裡就不在講了。

使用方法如下:

<?phpinclude(‘memcached.class.php‘);$memcached = new SL_Memcached();       //執行個體化對象$memcached->connect(‘127.0.0.1:11211‘);   //串連memcached服務端$memcached->set(‘key1‘, ‘我是快樂的索引值‘);   //設定索引值$memcached->set(‘key2‘, ‘我就要被刪了‘);    //設定索引值$memcached->delete(‘key2‘);          //刪除索引值var_dump($memcached->get(‘key1‘));      //擷取索引值var_dump($memcached->get(‘key2‘));      //擷取索引值?>

 

輸出:

string(21) "我是快樂的索引值"

NULL

4.1 安裝zlib

[官方網站] http://zlib.net/

命令流程:

# cd /source/
# wget http://zlib.net/zlib-1.2.8.tar.gz# tar -zxvf zlib-1.2.8.tar.gz
# ./configure --prefix=/package/zlib
# make
# make install

 

 

開始配置php-memcached

 

開啟php.ini

# vi /lnmp/php/etc/php.ini

在合適的位置添加如下
extension = /lnmp/php/lib/php/extensions/no-debug-non-zts-20151012/memcached.so

 

 

 

------------------------------------------------------------

五、常見錯誤總匯

------------------------------------------------------------

5.1 Unable to load dynamic library ‘memcached.so‘ - libmemcached.so.11: cannot open shared object file: No such file or directory in Unknown no line 0

說明:沒有找到php的附加庫memcached.so所需動態庫libmemcached.so.11。出現上述錯誤一般是沒有將libmemcached目錄設定到環境變數裡。

我們添加到環境變數LD_LIBRARY_PATH裡就搞定了。

# export LD_LIBRARY_PATH=/package/libmemcached/lib:$LD_LIBRARY_PATH

 

[原創]Centos7 從零編譯配置Redis

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.