- 下載
wget http://download.redis.io/redis-stable.tar.gz - 解壓編譯
tar -xzf redis-stable.tar.gz
cd redis-stable
make
make install - 可能出現(xiàn)的問題
- 沒有安裝gcc,這會導(dǎo)致我們無法make成功。使用yum安裝:
yum -y install gcc - make時報如下錯誤:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2
原因是jemalloc重載了Linux下的ANSI C的malloc和free函數(shù)瓦灶。解決辦法:make時添加參數(shù)撤卢。
make MALLOC=libc - make之后,會出現(xiàn)一句提示
Hint: To run 'make test' is a good idea ;)
但是不測試,通常是可以使用的药蜻。若我們運行make test ,會有如下提示
[devnote@devnote src]$ make test
You need tcl 8.5 or newer in order to run the Redis test
make: ***[test] Error_1
解決辦法是用yum安裝tcl8.5(或去tcl的官方網(wǎng)站http://www.tcl.tk/下載8.5版本替饿,并參考官網(wǎng)介紹進(jìn)行安裝)
yum install tcl
- 沒有安裝gcc,這會導(dǎo)致我們無法make成功。使用yum安裝:
- 目錄
- mkdir /etc/redis(存儲配置文件)
- mkdir -p /var/redis/REDIS的端口號#(以redis實例的端口作為目錄名语泽,存儲持久化文件)
- redis-stable/utils目錄下有redis_init_script的腳本文件
cp /root/redis-stable/utils/redis_init_script /etc/init.d/redis_端口號
這里你可能需要編輯腳本修改端口號 - redis-stable目錄下有redis.conf,
cp /root/redis-stable/redis.conf /etc/redis/端口號.conf
- redis配置
# 默認(rèn)情況下 redis 不是作為守護(hù)進(jìn)程運行的视卢,
# 如果你想讓它在后臺運行踱卵,
# 你需要把配置文件里daemonize改成 yes。
c
maxclients 100000
maxmemory 4294967296
requirepass youpwd
#分別表示900秒(15分鐘)內(nèi)有1個更改据过,300秒(5分鐘)內(nèi)有10個更改以及60秒內(nèi)有10000個更改,
# 如果觸發(fā)任何一個條件惋砂,即將內(nèi)存的數(shù)據(jù)同步到磁盤
# 快照持久化策略,詳細(xì)參考網(wǎng)上說明
save * *
# 持久化文件目錄
dir /var/redis//端口號
# 打開aof文件持久化
appendonly yes
#aof文件名绳锅,保存路徑與快照文件一樣西饵,也就是dir配置指定的目錄
appendfilename appendonly.aof
#aof增長相對上次aof rewrite增長達(dá)到100%時,且文件大小超過auto-aof-rewrite-min-size時會發(fā)生aof rewrite
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64m
pidfile /var/run/redis_6379.pid #保存進(jìn)程號的文件路徑
- 啟動與停止
- 啟動
/etc/init.d/redis_端口號 start
- 停止
pgrep redis|xargs kill
,redis腳本有停止的命令鳞芙,但是我設(shè)置了requirepass的值眷柔,導(dǎo)致停止不成功,pgrep redis|xargs kill
會干掉所有redis進(jìn)程
- 啟動
- 設(shè)置開機(jī)啟動
在啟動腳本開頭积蜻,#!/bin/sh后面添加如下兩行
chkconfig: 2345 80 90
description:auto_run
看起來像這樣:
#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run
然后執(zhí)行下面兩條命令
chkconfig –add redis_{端口號}
chkconfig redis_{端口號} on
- redis-sentinel
- 復(fù)制配置文件模版
cp /root/redis-stable/sentinel.conf /etc/redis/sentinel.conf
- sentinel.conf配置文件詳解
- 復(fù)制配置文件模版
bind 0.0.0.0
port 26379
dir "/tmp"
sentinel monitor redis_161 192.1.3.161 6379 2
sentinel down-after-milliseconds redis_161 10000
sentinel parallel-syncs redis_161 5
sentinel auth-pass redis_161 NQPBizknKoRfAc
sentinel config-epoch redis_161 0
sentinel leader-epoch redis_161 0
sentinel monitor redis_162 192.1.3.162 6380 2
sentinel down-after-milliseconds redis_162 60000
sentinel auth-pass redis_162 NQPBizknKoRfAc
# Generated by CONFIG REWRITE
sentinel config-epoch redis_162 0
sentinel leader-epoch redis_162 0
sentinel current-epoch 0
- 啟動redissentinel:
redis-sentinel /etc/redis/sentinel.conf &