linux redis安裝和持久化配置方法詳解

來源:互聯網
上載者:User

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫

Redis使用的是NoSQL非關係型資料庫,最大特點是沒有固定模式,即表的格式不固定,

一般都捨棄了交易處理功能而注重海量儲存下的讀寫效能。

redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(雜湊類型)。這些資料類型都 支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排 序。與memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄文 件,並且在此基礎上實現了master-slave(主從)同步。
 

如果簡單地比較Redis與Memcached的區別,大多數都會得到以下觀點:

1 、Redis不僅僅支援簡單的k/v類型的資料,同時還提供list,set,zset,hash等資料結構的儲存。

2 、Redis支援資料的備份,即master-slave模式的主從複製

3 、Redis支援資料的持久化,可以將記憶體中的資料保持在磁碟中,重啟的時候可以再次載入進行使用

首先 下載redis 和php擴充

redis   wget http://download.redis.io/releases/redis-2.8.13.tar.gz

php擴充 wget  https://codeload.github.com/owlient/phpredis/zip/master


1 解壓 redis
2 複製一份到 /usr/local/redis
3 make 安裝 如果遇到錯誤後面加參數

CFLAGS="-march=i686"

4複製redis設定檔到/etc 目錄下

5 vi  修改redis。conf檔案簡單的配置一下

一守護進程運行

daemonize=yes修改.dir 為安裝時的路徑

開啟appendonly記錄日誌

appendonly=yes

然後開redsi服務

redis-server /etc/redis.conf

進入服務

redis-cli 測試下能不如讀取 測試OK的話 添加php擴充

首先解壓master.tar.gz包

/usr/local/php/bin/phpize   

phpize 命令是為編譯php擴充檔案 做準備的

./configure --with-php-config=/usr/local/php/bin/php-configmake && make install
然後修改php.ini 尋找extension_dir,修改為

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = redis.so

重啟環境

<?php
header("Content-type:text/html;charset=utf-8");
$redis=new redis();
//串連redis
$result=$redis->connect('127.0.0.1', 6379);
echo $redis->set('test','12345');
echo $redis->get('test');

?>

如果要升級可以做主從配置

M/S主從叢集配置

1台Master和一台Slave
Master IP:127.0.0.1 PORT:6379
Slave1 IP:127.0.0.1 PORT:63791
2.複製slave目錄,方便管理

cp -r /usr/local/webserver/redis /usr/local/webserver/redis-slave1
3.修改slave的設定檔和服務指令碼
-- vi /usr/local/webserver/redis-slave1/conf/redis.conf --
port 63791
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
dir /usr/local/webserver/redis-slave1/db
slaveof 127.0.0.1 6379
----------------------------------------------------------

-- vi /usr/local/webserver/redis-slave1/start.sh --
#!/bin/bash
/usr/local/webserver/redis-slave1/redis-server /usr/local/webserver/redis-slave1/conf/redis.conf
---------------------------------------------------

------- vi /usr/local/webserver/redis-slave1/stop.sh ---------
#!/bin/bash
kill `cat /usr/local/webserver/redis-slave1/run/redis.pid`
--------------------------------------------------------
4.啟動M/S服務
/usr/local/webserver/redis/start.sh
/usr/local/webserver/redis-slave1/start.sh
驗證服務是否正常
netstat -nlpt | grep redis-server
5.驗證redis是否有效
/usr/local/webserver/redis/redis-cli [預設串連連接埠:6379 的 Master服務]
>set key1 val1
>quit

/usr/local/webserver/redis/redis-cli -p 63791 [串連 Slave1 服務]
>get key1
“val1″ (資料成功同步了)
多個slave同理配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.