redis安裝

下載地址

http://redis.io/download

https://github.com/antirez/redis

安裝編譯

安裝環境:sudo apt-get install make gcc

編譯安裝: sudo make MALLOC=libc

編譯完後產生的工具(編譯目錄/src/)

redis-server:redis服務器的daemon程序

redis-cil:redis命令行工具(也可以使用telne純文本協議操作)

redis-benchmark:redis性能測試工具,測試redis在你的系統及你的配置下的讀寫能力

redis-stat:redis狀態檢測工具,可以檢測redis當前狀態參數及延遲情況

redis-check-dump:redis dump數據文件的修復工具

redis-check-aof:redis aof日誌文件修復工具

在install後會吧上面6個執行文件拷貝到/usr/local/bin下

配置文件修改

需要講配置文件拷貝到/etc下(默認在安裝目錄下)

sudo cp redis.conf /etc/

配置文件相關參數:

daemonize:是否可以後臺daemon方式運行,

pidfile:pid文件位置

port:監聽端口號

timeout:客戶端長時間無請求,將會被服務器關閉。

loglevel:log信息級別(debug,verbose,notice和warning默認爲verbose)

logfile:log文件存儲位置

databases:開啓數據庫的數量,使用select 庫id方式切換各個數據庫。

save * * :保存快照的頻率,第一個表示多長時間,第二個表示執行多少次寫操作,在一定時間內執行一定數量的寫操作時,自動保存快照。

rdbcompression:是否使用壓縮

dbfilename:數據快照文件名(只是文件名,不考擴目錄)。默認爲dump.rdb

dir:數據快照保存的目錄

appendonly:是否開啓appendonlylog,開啓的回話每次些操作會寫一條log,這會提高數據庫的康風險能力,但影響效率

appendfsync:appendonlylog如何同步到磁盤(三個選項,分別是每次都強制調用fsync,每秒啓用一次fsync、不掉用fsync等待系統自己同步)

啓動redis

直接啓動:redis-server

指定配置文件的啓動: redis-server /etc/redis.conf

啓動的時候會有警告:

6948:M 03 Sep 10:58:19.469 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.


第一個警告:The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
意思是:TCP  backlog設置值,511沒有成功,因爲 /proc/sys/net/core/somaxconn這個設置的是更小的128.
臨時解決方法:(即下次啓動還需要修改此值)
echo 511 > /proc/sys/net/core/somaxconn
永久解決方法:(即以後啓動還需要修改此值)
將其寫入/etc/rc.local文件中。
baklog參數實際控制的是已經3次握手成功的還在accept queue的大小。
[參考](http://blog.csdn.net/raintungli/article/details/37913765)

6948:M 03 Sep 10:58:19.469 # Server initialized
6948:M 03 Sep 10:58:19.469 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

意思是:overcommit_memory參數設置爲0!在內存不足的情況下,後臺程序save可能失敗。建議在文件 /etc/sysctl.conf 中將overcommit_memory修改爲1。
臨時解決方法:echo "vm.overcommit_memory=1" > /etc/sysctl.conf
永久解決方法:將其寫入/etc/sysctl.conf文件中。
[參考](http://blog.csdn.net/whycold/article/details/21388455)


6948:M 03 Sep 10:58:19.469 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

意思是:你使用的是透明大頁,可能導致redis延遲和內存使用問題。執行 echo never > /sys/kernel/mm/transparent_hugepage/enabled 修復該問題。
臨時解決方法:
echo never > /sys/kernel/mm/transparent_hugepage/enabled。
永久解決方法:
將其寫入/etc/rc.local文件中。
[參考](http://www.cnblogs.com/kerrycode/archive/2015/07/23/4670931.html)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章