標籤:
0、環境
Linux:centos6.5
redis:3.0.5
1、下載
方式一:官網下載war包,通過xftp拷貝到linux伺服器,解壓;
方式二:linux伺服器,執行命令 wget http://download.redis.io/releases/redis-3.0.5.tar.gz
2、編譯
2.1 解壓
tar -zxvf redis-3.0.5.tar.gz
2.1 編譯
cd redis-3.0.5/make
2.3 測試是否成功
cd src./redis-server
新開啟一個終端視窗,執行命令:./redis-3.0.5/src/redis-cli
set foo bar
get foo
=============================================================
redis.conf 配置項說明:
1、daemonize no
是否把redis-server在後台啟動,預設是“否”,改為yes,會產生一個pid檔案
2、pidfile
/var/run/redis.pid,redis-server的pid檔案。
3、port
redis-server的連接埠號碼
4、dbfilename dump.rdb
資料庫檔案的位置,最好添加絕對路徑,若不添加時在啟動使用者的home目錄下
5、slaveof
設定主從伺服器的主伺服器的地址和連接埠
6、loglevel verbose
記錄層級,debug,verbose,notice,warning
7、logfile stdout
日誌的輸出檔案,預設是標準輸出。例如:logfile /tmp/redis.log
=============================================================
主從配置
工作原理:
在Slave啟動並串連到Master之後,它將主動發送一條SYNC命令。此後Master將啟動後台存檔進程,同時收集所有接收到的用於修改資料集的命令,在後台進程執行完畢後,Master將傳送整個資料庫檔案到Slave,以完成一次完全同步。而Slave伺服器在接收到資料庫檔案資料之後將其存檔並載入到記憶體中。此後,Master繼續將所有已經收集到的修改命令,和新的修改命令依次傳送給Slaves,Slave將在本次執行這些資料修改命令,從而達到最終的資料同步。
如果Master和Slave之間的連結出現斷連現象,Slave可以自動重連Master,但是在串連成功之後,一次完全同步將被自動執行。
***同一台機器的主從配置***
***不同機器的主從配置***
(1)同一台機器的主從配置
1、在同一台機器上啟動兩個Redis伺服器,分別監聽不同的連接埠
2、環境說明
master 6379,slave 6380
3、修改設定檔
拷貝一份redis.conf,cp redis.conf redis_slave.conf
修改redis_slave.conf,把連接埠修改為6380;把slaveof 修改為 slaveof 127.0.0.1 6379
4、測試
#啟動master伺服器,即6379連接埠的伺服器./src/redis.server redis.conf#啟動slave伺服器,即6380連接埠的伺服器./src/redis.server redis_slave.conf#啟動master用戶端./src/redis.cli -h 127.0.0.1 -p 6379#啟動slave用戶端./src/redis.cli -h 127.0.0.1 -p 6380#清空master當前資料庫中的所有Keys127.0.0.1:6379> FLUSHDB#master中建立key127.0.0.1:6379> set foo aaaOK127.0.0.1:6379> set foo2 bbbOK#查看master中存在哪些Keys127.0.0.1:6379> keys *1) "foo"2) "foo2"#在slave中查看keys127.0.0.1:6380> keys *1) "foo2"2) "foo"#在master中刪除其中一個測試Key,並查看刪除後的結果。127.0.0.1:6379> del foo(integer) 1127.0.0.1:6379> keys *1) "foo2"#在slave中查看是否foo也已經在slave中被刪除。127.0.0.1:6380> keys *1) "foo2"
#查看同步狀態主從關係
127.0.0.1:6379> info
內容比較多,只關注需要的:Replication項
(2)不同機器的主從配置
配置方式和同一台機器的配置方式基本一樣,只是ip不是同一台機器而已。
redis安裝及基礎操作(1)