Linux 下 Redis 安裝詳解

來源:互聯網
上載者:User

標籤:style   http   color   io   os   使用   ar   strong   for   

redis作為NoSQL資料庫的一種應用,響應速度和命中率上還是比較高效的。項目中需要用集中式可橫向擴充的緩衝架構,做了一點調研,即便redis、memcached存在效率上的差異(具體比較參考http://timyang.net/data/mcdb-tt-redis/),但其實都能滿足目前項目的需求;但是redis還是比較風騷的,支援鏈表和集合操作,支援Regex尋找key,目前項目緩衝的結果大多是鏈表,如果鏈表新增或者修改資料的話,redis就體現出了極大的優勢(memcached只能重新載入鏈表,redis可以對鏈表新增或者修改)

1:下載redis
http://code.google.com/p/redis/downloads/list
推薦下載redis-1.2.6.tar.gz,之前這個版本同事已經有成功安裝啟動並執行經驗,redis-2.0.4.tar.gz 這個版本我安裝後無法操作快取資料,具體原因後續再說

2:安裝redis
下載後解壓 tar zxvf redis-1.2.6.tar.gz 到任意目錄,例如/usr/local/redis-1.2.6

解壓後,進入redis目錄
    cd /usr/local/redis-1.2.6  
    make  

拷貝檔案
cp redis.conf /etc/ 這個檔案時redis啟動的設定檔
cp redis-benchmark redis-cli redis-server /usr/bin/ #這個倒是很有用,這樣就不用再執行時加上./了,而且可以在任何地方執行

設定記憶體配置策略(可選,根據伺服器的實際情況進行設定)
/proc/sys/vm/overcommit_memory
可選值:0、1、2。
0, 表示核心將檢查是否有足夠的可用記憶體供應用進程使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,並把錯誤返回給應用進程。
1, 表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何。
2, 表示核心允許分配超過所有實體記憶體和交換空間總和的記憶體

值得注意的一點是,redis在dump資料的時候,會fork出一個子進程,理論上child進程所佔用的記憶體和parent是一樣的,比如parent佔用的記憶體為8G,這個時候也要同樣分配8G的記憶體給child,如果記憶體無法負擔,往往會造成redis伺服器的down機或者IO負載過高,效率下降。所以這裡比較最佳化的記憶體配置策略應該設定為 1(表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何)

開啟redis連接埠,修改防火牆設定檔
    vi /etc/sysconfig/iptables  

加入連接埠配置
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT  

重新載入規則
    service iptables restart   

3:啟動redis服務
    [[email protected] redis-1.2.6]# pwd  
    /usr/local/redis-1.2.6  
    [[email protected] redis-1.2.6]# redis-server /etc/redis.conf  

查看進程,確認redis已經啟動

    [[email protected] redis-1.2.6]# ps -ef | grep redis  
    root       401 29222  0 18:06 pts/3    00:00:00 grep redis  
    root     29258     1  0 16:23 ?        00:00:00 redis-server /etc/redis.conf  

如果這裡啟動redis服務失敗,一般情況下是因為redis.conf檔案有問題,建議檢查或找個可用的設定檔進行覆蓋,避免少走彎路,這裡建議,修改redis.conf,設定redis進程為後台守護進程

    # By default Redis does not run as a daemon. Use ‘yes‘ if you need it.  
    # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.  
    daemonize yes  

4:測試redis
    [[email protected] redis-1.2.6]# redis-cli  
    redis> set name songbin  
    OK  
    redis> get name   
    "songbin"  

5:關閉redis服務
    redis-cli shutdown  

redis服務關閉後,快取資料會自動dump到硬碟上,硬碟地址為redis.conf中的配置項dbfilename dump.rdb所設定
強製備份資料到磁碟,使用如下命令

    redis-cli save 或者 redis-cli -p 6380 save(指定連接埠)

Linux 下 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.