一某弦、安裝
1.先下載安裝(這個(gè)不做詳細(xì)講述桐汤,都能安裝成功)
2.進(jìn)入redis目錄
cd /usr/local/redis/
3.生成redis
sudo make
編譯成功后,會(huì)有一個(gè)提示 It's a good idea to run 'make test'
4.編譯test
sudo make test
編譯test出現(xiàn)了一個(gè)錯(cuò)誤靶壮,make[1]: *** [test] Error 1,看了下錯(cuò)誤,好像是編譯一個(gè)文件出了錯(cuò)誤怔毛,別擔(dān)心,重新編譯就OK了.
5.安裝
sudo make install
6.運(yùn)行
sudo redis-server
二腾降、配置
1.在 redis 目錄下建立bin拣度,etc,db三個(gè)目錄
mkdir bin etc db
2.把redis/src目錄下的 mkreleasehdr.sh螃壤,redis-benchmark蜡娶, redis-check-rdb, redis-cli映穗, redis-server拷貝到redis目錄下的bin目錄中
cp mkreleasehdr.sh redis-benchmark redis-check-rdb redis-cli redis-server ../bin
3.在etc下窖张,參考原/usr/local/redis目錄下的redis.conf,新建一個(gè)redis.conf , 修改redis.conf蚁滋。
vi redis.conf
綁定ip:如果需要遠(yuǎn)程訪問宿接,可將此?注釋,或綁定?個(gè)真實(shí)ip
bind 127.0.0.1
端?辕录,默認(rèn)為6379
port 6379
是否以守護(hù)進(jìn)程運(yùn)?
如果以守護(hù)進(jìn)程運(yùn)?睦霎,則不會(huì)在命令?阻塞,類似于服務(wù)
如果以?守護(hù)進(jìn)程運(yùn)?走诞,則當(dāng)前終端被阻塞
設(shè)置為yes表示守護(hù)進(jìn)程副女,設(shè)置為no表示?守護(hù)進(jìn)程
推薦設(shè)置為yes
daemonize yes
數(shù)據(jù)?件
dbfilename dump.rdb
數(shù)據(jù)?件存儲(chǔ)路徑
dir /usr/local/redis-4.0.11/db/
?志?件
logfile /usr/local/redis-4.0.11/redis-server.log
數(shù)據(jù)庫,默認(rèn)有16個(gè)
database 16
主從復(fù)制蚣旱,類似于雙機(jī)備份碑幅。
slaveof
#修改為守護(hù)模式
daemonize yes
#設(shè)置進(jìn)程鎖文件
pidfile /Users/liuyanzhao/Documents/JavaStudy/redis/redis.pid
#端口
port 6379
#客戶端超時(shí)時(shí)間
timeout 300
#日志級(jí)別
loglevel debug
#日志文件位置
logfile /Users/liuyanzhao/Documents/JavaStudy/redis/log-redis.log
#設(shè)置數(shù)據(jù)庫的數(shù)量戴陡,默認(rèn)數(shù)據(jù)庫為16,可以使用SELECT 命令在連接上指定數(shù)據(jù)庫id
databases 16
##指定在多長(zhǎng)時(shí)間內(nèi)沟涨,有多少次更新操作恤批,就將數(shù)據(jù)同步到數(shù)據(jù)文件,可以多個(gè)條件配合
#save
#Redis默認(rèn)配置文件中提供了三個(gè)條件:
save 900 1
save 300 10
save 60 10000
#指定存儲(chǔ)至本地?cái)?shù)據(jù)庫時(shí)是否壓縮數(shù)據(jù)裹赴,默認(rèn)為yes喜庞,Redis采用LZF壓縮,如果為了節(jié)省CPU時(shí)間棋返,
#可以關(guān)閉該#選項(xiàng)延都,但會(huì)導(dǎo)致數(shù)據(jù)庫文件變的巨大
rdbcompression yes
#指定本地?cái)?shù)據(jù)庫文件名
dbfilename dump.rdb
#指定本地?cái)?shù)據(jù)庫路徑
dir /Users/liuyanzhao/Documents/JavaStudy/redis/db/
#指定是否在每次更新操作后進(jìn)行日志記錄,Redis在默認(rèn)情況下是異步的把數(shù)據(jù)寫入磁盤睛竣,如果不開啟晰房,可能
#會(huì)在斷電時(shí)導(dǎo)致一段時(shí)間內(nèi)的數(shù)據(jù)丟失。因?yàn)?redis本身同步數(shù)據(jù)文件是按上面save條件來同步的酵颁,所以有
#的數(shù)據(jù)會(huì)在一段時(shí)間內(nèi)只存在于內(nèi)存中
appendonly no
#指定更新日志條件,共有3個(gè)可選值:
#no:表示等操作系統(tǒng)進(jìn)行數(shù)據(jù)緩存同步到磁盤(快)
#always:表示每次更新操作后手動(dòng)調(diào)用fsync()將數(shù)據(jù)寫到磁盤(慢月帝,安全)
#everysec:表示每秒同步一次(折衷躏惋,默認(rèn)值)
appendfsync everysec