edis多開其實(shí)就是開啟多個(gè)redis實(shí)例,分別使用不同的配置
linux系統(tǒng)下 可以指定端口啟動(dòng)多個(gè)Redis進(jìn)程。
#/usr/local/bin/redis-server --port 6380 & #啟動(dòng)6380端口的redis實(shí)例。
一臺(tái)Redis服務(wù)器,分成多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)分配一個(gè)端口(6380,6381…),默認(rèn)端口是6379。
每個(gè)節(jié)點(diǎn)對應(yīng)一個(gè)Redis配置文件,如: redis6380.conf、redis6381.conf
#cp redis.conf redis6380.conf
#vi redis6380.conf
#如果以后臺(tái)進(jìn)程運(yùn)行的話,就需要指定pid,你可以在此自定義redis.pid文件的位置
pidfile : pidfile/var/run/redis/redis_6380.pid
#接受連接的端口號(hào),如果端口是0則redis將不會(huì)監(jiān)聽TCP socket連接
port 6380
logfile : logfile/var/log/redis/redis_6380.log
rdbfile : dbfilenamedump_6380.rdb
啟動(dòng)多個(gè)redis實(shí)例:
#redis-server/usr/local/redis/redis6380.conf
#redis-server/usr/local/redis/redis6381.conf
Redis數(shù)據(jù)存儲(chǔ)
redis 的存儲(chǔ)分為內(nèi)存存儲(chǔ)、磁盤存儲(chǔ)和log文件三部分,配置文件中有三個(gè)參數(shù)對其進(jìn)行配置。
save seconds updates:在指定時(shí)間內(nèi),達(dá)到多少次更新操作時(shí),就將數(shù)據(jù)同步到數(shù)據(jù)文件。這個(gè)可以多個(gè)條件配合,比如默認(rèn)配置文件中的設(shè)置,就設(shè)置了三個(gè)條件。
appendonly yes/no:是否在每次更新操作后進(jìn)行日志記錄,如果不開啟,可能會(huì)在斷電時(shí)導(dǎo)致一段時(shí)間內(nèi)的數(shù)據(jù)丟失。
因?yàn)閞edis本身同步數(shù)據(jù)文件是按上面的save條件來同步的,所以有的數(shù)據(jù)會(huì)在一段時(shí)間內(nèi)只存在于內(nèi)存中。
appendfsyncno/always/everysec:no表示等操作系統(tǒng)進(jìn)行數(shù)據(jù)緩存同步到磁盤,always表示每次更新操作后手動(dòng)調(diào)用fsync()將數(shù)據(jù)寫到磁盤,everysec表示每秒同步一次。
a、 去掉bind,默認(rèn)如果沒有bind,那么允許任何ip進(jìn)行連接
#bind 127.0.0.1
b、更改啟動(dòng)端口(port 默認(rèn)為6379)
port 6300
c、更改為后臺(tái)啟動(dòng)(daemonize 默認(rèn)為no)
daemonize yes
d、新建一個(gè)pid文件,里面是一個(gè)數(shù)字,然后將pidfile指向這個(gè)pi文件
pidfile /var/redis/pid/redis_6300.pid
e、新建一個(gè)log文件,并將logfile指向該文件
logfile /var/redis/log/redis_6300.log
e、指定數(shù)據(jù)庫文件:
dbfilename dump_6300.rdb
注意,這個(gè)是文件,不可包含路徑,否則啟動(dòng)錯(cuò)誤
f、設(shè)置密碼
requirepass redisbber6300
g、設(shè)置dir路徑,dir路徑是制定上面的數(shù)據(jù)庫文件dbfilename的存儲(chǔ)路徑
dir /var/redis/db/
一、以默認(rèn)端口啟動(dòng)和安裝服務(wù)器(windows平臺(tái))
1.安裝服務(wù)
redis-server --service-install redis.windows.conf
2.啟動(dòng)服務(wù)
redis-server --service-start
3.停止服務(wù)
redis-server --service-stop
如果無法運(yùn)行redis-server,將其路徑放到path中即可。如果安裝服務(wù)報(bào)1073,說明已經(jīng)有了這個(gè)服務(wù)并已經(jīng)啟動(dòng)
二、開啟多個(gè)端口服務(wù)器
1.配置文件
將redis.windows-service.conf復(fù)制一份,改名為相應(yīng)文件,并更改配置文件中的端口為指定端口,以6380為例
port 6380
2.安裝服務(wù)
redis-server --service-install --service-name Redis_6380 redis.windows-service-6380.conf
3.啟動(dòng)服務(wù)
redis-server --service-start --service-name redis_6380
4.停止服務(wù)
redis-server --service-stop --service-name redis_6380
5.卸載服務(wù)
redis-server --service-uninstall --service-name redis_6380