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