首先,安裝Redis所依賴的TCL工具包。 html
# 下載 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz # 解壓縮 tar -xf tcl8.6.0-html.tar.gz # 配置安裝 cd unix && ./configure --prefix=/usr \ --without-tzdata \ --mandir=/usr/share/man \ $([ $(uname -m) = x86_64 ] && echo --enable-64bit) && make && sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \ -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \ -i tclConfig.sh # 測試make是否成功 make test # root用戶登陸,執行下面命令 make install && make install-private-headers && ln -v -sf tclsh8.6 /usr/bin/tclsh && chmod -v 755 /usr/lib/libtcl8.6.so
有關TCL的更詳細的說明,請見 http://www.linuxfromscratch.org/blfs/view/svn/general/tcl.html linux
下面,就能夠安裝Redis了。 git
# 下載redis穩定版,解壓縮並安裝 wget http://download.redis.io/redis-stable.tar.gz tar xzf redis-3.0.0.tar.gz cd redis-3.0.0 make # 測試make是否成功 make test make install
而後能夠進入redis目錄,嘗試啓動redis github
./src/redis-server redis.conf
至此redis安裝已經完成了。 redis
在make test中可能會遇到時間相關的失敗,好比 shell
Executing test client: NOREPLICAS Not enough good slaves to write.. 服務器
這種狀況下,能夠修改文件tests/integration/replication-2.tcl,將after 1000改成after 10000以延長等待時間。 ide
更多關於Redis安裝的信息,請見 http://redis.io/download svn
若是想要使用C程序調用Redis,安裝官方C客戶端hiredis。方便的是,目前的redis下載包中已經包含了hiredis的安裝包,只須要到redis安裝目錄下,執行如下命令便可: 工具
# 進入hiredis文件夾並安裝 cd /deps/hiredis make # 測試make是否成功 make test # 使用root用戶,安裝動態文件文件,並更新 make install /sbin/ldconfig /usr/local/lib
能夠執行hiredis文件夾下的hiredis-example來測試hiredis是否成功安裝。
./hiredis-examplehiredis-example由example.c編譯而成,包括了簡單的redis經過C鏈接調用的例子,也能夠本身從新編譯一遍:
cc example.c -lhiredis ./a.out
關於hiredis的更多說明,能夠參照 https://github.com/redis/hiredis
pip install redisredis-py經過解析器(Parser)來解析Redis服務器的響應內容,目前有兩種解析器可用,分別是PythonParser和HiredisParser。redis-py的默認解析器是HiredisParser,若是不存在則使用PythonParser。推薦安裝使用Hiredis進行解析,由於相比Python解析,它提高了10倍的解析速度。
安裝Hiredis:
pip install hiredisredis-py還實現了鏈接池等功能。
關於redis-py的更多說明,能夠參照 https://github.com/andymccurdy/redis-py
最後,配置生產環境,並設置redis的開機啓動。
首先,創建存放redis配置文件和持久化RDB數據的文件夾:
sudo mkdir /etc/redis sudo mkdir /var/redis拷貝redis的啓動腳本到/etc/init.d文件夾中:
sudo cp utils/redis_init_script /etc/init.d/redis_6379拷貝redis的配置文件到/etc/redis中,而且以端口號做爲文件名:
sudo cp redis.conf /etc/redis/6379.conf在/var/redis中建立文件夾做爲redis實例的數據和工做目錄:
sudo mkdir /var/redis/6379
按下面要求修改配置文件:
最後,設置redis實例的開機啓動。在Ubuntu上直接運行:
sudo update-rc.d redis_6379 defaults若是是CentOS,修改/etc/init.d/redis_6379,添加下面內容:
# Provides: redis-server # Required-Start: $syslog # Required-Stop: $syslog # Should-Start: $local_fs # Should-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: redis-server - Persistent key-value db # Description: redis-server - Persistent key-value db ### END INIT INFO而後執行chkconfig便可。
sudo chkconfig --add redis_6379
關於配置的更多內容,參照 http://redis.io/topics/quickstart
持久化內存問題:
Redis在持久化時會從新啓動一個進程,佔用的內存資源與Redis實例相同,所以可能會形成內存不足,產生難以預知的後果。爲了防止該事件發生,能夠將overcommit_memory設置爲1。
設置方法:
1. 修改文件/etc/sysctl.conf,添加
vm.overcommit_memory = 1
而後從新啓動。
2. 執行命令sysctl vm.overcommit_memory=1
這樣在下次啓動時會恢復默認設置,所以仍然須要在/etc/sysctl.conf中添加。