Linux下Redis的安裝使用,linuxredis
1. Linux下Redis的安裝使用
官方下載:http://redis.io/download 可以根據需要下載不同版本
下載,解壓和安裝:
$ wgethttp://download.redis.io/releases/redis-2.6.17.tar.gz
$ tar xzf redis-2.6.17.tar.gz
$ cd redis-2.6.17
$ make
編譯後的可執行檔在src目錄中,可以使用下面的命令運行Redis:
$ src/redis-server
你可以使用內建的用戶端串連Redis:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
安裝時遇到的問題:
1. 如果出現“Youneed 'tclsh8.5' in order to run the Redis test”。則可運行 sudo apt-get install tcl8.5 來安裝tcl。
然後再make test測試一下注意是在redis的目錄裡面
最後出現\o/ All tests passed without errors!
centos 可以是yum install tcl這麼安裝。
也可以從官網上http://sourceforge.net/projects/tcl/files/Tcl/下載tcl,然後按照以下步驟安裝:
1. wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
2. sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
3. cd /usr/local/tcl8.6.1/unix/
4. sudo ./configure
5. sudo make
6. sudo make install
2. gcc:命令未找到
sudo yum install gcc。
從安裝光碟片裡裝rpm包或是從官網下載壓縮包安裝(前提是已安裝低版本gcc)。
3. jemalloc/jemalloc.h:沒有那個檔案或目錄
make的時候加上MALLOC=libc參數。
2. Redis主從複製
配置
配置複製是很簡單的,僅僅在slave的設定檔中增加類似下面這行的內容:
slaveof 192.168.1.1 6379
你可以更換master的ip地址或地址,或者,你可以使用slaveof命令,master就會啟動和slave的同步。
設定slave到master的認證
如果master需要通過密碼登陸,那就需要配置slave在進行所有同步操作也要使用到密碼。
在一個啟動並執行執行個體上嘗試,使用 redis-cli
:
config set masterauth <password>
Toset it permanently, add this to your config file:
masterauth <password>
3. Redis 持久化
快照
在預設情況下,Redis將資料庫快照集儲存在名字為 dump.rdb
的二進位檔案中。你可以對 Redis進行設定,讓它在“ N秒內資料集至少有 M 個改動”這一條件被滿足時,自動儲存一次資料集。你也可以通過調用 SAVE或者 BGSAVE ,手動讓 Redis 進行資料集儲存操作。
比如說,以下設定會讓 Redis在滿足“ 60 秒內有至少有 1000 個鍵被改動”這一條件時,自動儲存一次資料集:
save 60 1000
這種持久化方式被稱為快照 snapshotting.
只追加操作的檔案(Append-only file,AOF)
快照功能並不是非常耐久(durable):如果 Redis因為某些原因而造成故障停機,那麼伺服器將丟失最近寫入、且仍未儲存到快照中的那些資料。
從 1.1版本開始, Redis增加了一種完全耐久的持久化方式:AOF持久化。
你可以在設定檔中開啟AOF方式:
appendonly yes
從現在開始,每當 Redis執行一個改變資料集的命令時(比如SET),這個命令就會被追加到 AOF檔案的末尾。這樣的話,當 Redis重新啟時,程式就可以通過重新執行 AOF檔案中的命令來達到重建資料集的目的。
AOF有多耐用?
你可以配置Redis多久才將資料 fsync
到磁碟一次。有三種方式:
· 每次有新命令追加到 AOF檔案時就執行一次 fsync:非常慢,也非常安全
· 每秒 fsync一次:足夠快(和使用 RDB持久化差不多),並且在故障時只會丟失 1秒鐘的資料。
· 從不 fsync:將資料交給作業系統來處理。更快,也更不安全的選擇。
推薦(並且也是預設)的措施為每秒fsync一次,這種 fsync策略可以兼顧速度和安全性。
1. 測試結果
測試主從複製:
在主機上通過info命令查看機器狀態,通過keys*命令查看資料庫裡資料為空白,用set命令設定鍵k1,值v1,用get命令得到k1值為v1:
在從機上通過info命令查看機器狀態,通過keys*命令查看資料庫裡資料為空白,用get命令得到k1值為v1實現主從複製: