Redis 安裝配置

Redis:高性能的Key / value 數據庫。

下面簡單介紹一下,Redis的安裝與使用。


一、Redis 安裝

wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gz
cd redis-stable
make

二、可執行程序


SRC 目錄下:

[plain]view plaincopyprint?

  1. redis-server:   Redis服務器的daemon 啓動程序。

  2. redis-cli:      Redis命令行操作工具。

  3. redis-benchmark:性能測試工具,測試Redis在你的系統和配置下的讀、寫性能。


爲了方便使用:

[plain]view plaincopyprint?

  1. cp redis-server /usr/local/bin/

  2. cp redis-cli /usr/local/bin/


三、Redis 配置詳細

這裏,我將配置文件 redis.conf 複製到自己建立的目錄下,/usr/local/redis

編輯文件 redis.conf

redis.conf 配置文件參數詳解:

daemonize:是否以後臺daemon方式運行 //建議修改爲yespidfile:pid文件位置port:監聽的端口號timeout:請求超時時間loglevel:log信息級別logfile:log文件位置databases:開啓數據庫的數量save * *:保存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。rdbcompression:是否使用壓縮dbfilename:數據快照文件名(只是文件名,不包括目錄)dir:數據快照的保存目錄(這個是目錄)appendonly:是否開啓appendonlylog,開啓的話每次寫操作會記一條log,這會提高數據抗風險能力,但影響效率。appendfsync:appendonlylog如何同步到磁盤(三個選項,分別是每次寫都強制調用fsync、每秒啓用一次fsync、不調用fsync等待系統自己同步)

啓動redis

[plain]view plaincopyprint?

  1. redis-server /usr/local/redis/redis.conf

檢查Redis是否正常工作:redis-cli ping

成功時返回:PONG


四、配置多個Redis節點(Redis實例)


如果提供的服務面對的用戶羣是上百萬,上千萬,而服務器數量有限,那麼需要啓動多個Redis實例。


具體方法:


比如,一臺Redis服務器,分成4個節點,每個節點分配一個端口(7000,7001,7002...),默認端口是6379。


每個節點對應一個Redis配置文件,如: redis7000.conf、redis7001.conf、redis7002.conf、redis7003.conf。


[plain]view plaincopyprint?

  1. cd /usr/local/redis

  2. cp redis.conf redis7000.conf

  3. cp redis.conf redis7001.conf

  4. cp redis.conf redis7002.conf

  5. cp redis.conf redis7003.conf

對於配置文件 redis7000.conf,需要做以下改動:

[plain]view plaincopyprint?

  1. daemonize yes                       //run as a daemon

  2. pidfile /var/run/redis7000.pid      //進程pid

  3. port 7000                           //端口號

  4. loglevel verbose                    //記錄等級,可選值爲(debug、verbose、notice、warning)

  5. logfile stdout                      //Specify the log file name

  6. dir /data/redis/                    //redis數據的存儲路徑


備註:其他配置文件類似修改。

啓動多個redis實例

[plain]view plaincopyprint?

  1. redis-server /usr/local/redis/redis7000.conf

  2. redis-server /usr/local/redis/redis7001.conf

  3. redis-server /usr/local/redis/redis7002.conf

  4. redis-server /usr/local/redis/redis7003.conf

至此,多節點配置成功!

五、Redis數據存儲

redis 的存儲分爲內存存儲、磁盤存儲和log文件三部分,配置文件中有三個參數對其進行配置。

[plain]view plaincopyprint?

  1. save seconds updates:在指定時間內,達到多少次更新操作時,就將數據同步到數據文件。這個可以多個條件配合,比如默認配置文件中的設置,就設置了三個條件。

  2. appendonly yes/no:是否在每次更新操作後進行日誌記錄,如果不開啓,可能會在斷電時導致一段時間內的數據丟失。

  3. 因爲redis本身同步數據文件是按上面的save條件來同步的,所以有的數據會在一段時間內只存在於內存中。

  4. appendfsync no/always/everysec:no表示等操作系統進行數據緩存同步到磁盤,always表示每次更新操作後手動調用fsync()將數據寫到磁盤,everysec表示每秒同步一次。


六、Redis的主從配置:

redis 支持 master-slave 的主從配置。配置方法:在從機的配置文件中修改slaveof 參數爲主機的 ip 和 port 即可。

內存配置:

如果內存情況比較緊張的話,需要設定內核參數:

[plain]view plaincopyprint?

  1. echo 1 > /proc/sys/vm/overcommit_memory

參數含義:

[plain]view plaincopyprint?

  1. 指定了內核針對內存分配的策略,其值可以是0、1、2。

  2. 0:表示內核將檢查是否有足夠的可用內存供應用進程使用;如果有足夠的可用內存,內存申請允許;否則,內存申請失敗,並把錯誤返回給應用進程

  3. 1:表示內核允許分配所有的物理內存,而不管當前的內存狀態如何

  4. 2:表示內核允許分配超過所有物理內存和交換空間總和的內存


七、一些其他工具1、PHP中,操作redis,使用 phpredis,這是一個PHP擴展。
 安裝步驟詳見:猛擊這裏

2、PHP在面對大流量、高併發情況下,很容易崩潰,故我們需要找軟件替代之,推薦使用 Webdis
  安裝步驟詳見:猛擊這裏


?kjerryhe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章