一.Redis介紹 1.redis是什麼? remote dIctionary server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。Redis提供了一些豐富的數據結構,包括 lists, sets, ordered sets 以及 hashes ...
一.Redis介紹
1.redis是什麼?
remote dIctionary server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。Redis提供了一些豐富的數據結構,包括 lists, sets, ordered sets 以及 hashes ,當然還有和Memcached一樣的 strings結構.Redis當還包括了對這些數據結構的豐富操作。
Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value資料庫。
2.redis特點
Redis 與其他 key - value 緩存產品有以下三個特點:
Redis支持數據的持久化,可以將記憶體中的數據保存在磁碟中,重啟的時候可以再次載入進行使用。
Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
Redis支持數據的備份,即master-slave模式的數據備份。
二.安裝Redis
1.安裝依賴包
yum -y install gcc-c++ yum -y install tcl yum –y install wget
2.下載redis源碼包
wget http://download.redis.io/releases/redis-2.8.24.tar.gz
3.編譯安裝redis
mv redis-2.8.24.tar.gz /usr/src/ cd /usr/src/ tar xf redis-2.8.24.tar.gz cd redis-2.8.24 make && make install echo $? #查看編譯安裝是否出錯
4.查看版本號
redis-server --version
5.設置配置文件路徑
mkdir -p /usr/local/redis cp redis.conf /usr/local/redis/
6.修改後臺運行
vim /usr/local/redis/redis.conf
將daemonize no 修改為 daemonize yes。作用是使redis後臺運行,否則啟動redis服務端時會報報警告,導致redis客服端連接不上
7.啟動與關閉redis
/usr/local/bin/redis-server /usr/local/redis/redis.conf 啟動 killall -9 redis-server 關閉 netstat -anpt | grep 6379
8.暫時修改redis密碼為 redis@ranye
修改redis.conf配置文件,改參數:requirepass + 密碼
9.修改redis埠號
cp /usr/local/redis/redis.conf /usr/local/redis/redis9532.conf mkdir -p /var/log/redis/ mkdir -p /var/run/redis vim /usr/local/redis/redis9532.conf 修改: pidfile /var/run/redis/redis9532-server.pid port 9532 ~ logfile /var/log/redis/redis9532-server.log ~ dbfilename dump9532.rdb killall -9 redis-server #關掉之前啟動的redis /usr/local/bin/redis-server /usr/local/redis/redis9532.conf #重新啟動 netstat -anpt | grep redis #檢查埠號是否更改 redis-cli -p 9532 #登錄客戶端測試
10.持久化配置(基於快照)
redis是記憶體資料庫,它把數據存儲在記憶體中,這樣在加快讀取速度的同時也對數據安全性產生了新的問題,即當redis所在伺服器發生宕機後,redis資料庫里的所有數據將會全部丟失。
為瞭解決這個問題,redis提供了持久化功能——RDB和AOF。通俗的講就是將記憶體中的數據寫入硬碟中。
[root@server6 ~]# mkdir -p /data/redis9532-rdb #創建持久化數據文件存放的路徑 [root@server6 ~]# vim /usr/local/redis/redis9532.conf save 900 1 save 300 10 save 60 10000 dbfilename "dump9532.rdb" #持久化文件名稱 dir "/data/redis9532-rdb" #持久化數據文件存放的路徑 #重啟redis生效 [root@server6 ~]# killall redis-server [root@server6 ~]# /usr/local/bin/redis-server /usr/local/redis/redis9532.conf
三.配置Redis主從
1.安裝redis2
安裝步驟同上
2.修改 redis 的redis.conf 文件
slaveof ip + 埠號 //去掉此行註釋,並改為redis1的ip地址和埠號
3.配置redis2密碼為 [email protected]
修改redis.conf配置文件,改參數:requirepass + 密碼
4.啟動redis2
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
5.測試redis1與redis2數據是否能夠同步
在redis1寫入數據
set name chenjaixin
get name
然後在redis2上查看
get name #如顯示chenjaixin 則表示同步成功
註意:在配置redis複製功能的時候如果主資料庫設置了密碼,需要在從數據的配置文件中通過masterauth參數設置主資料庫的密碼,這樣從資料庫在連接主資料庫時就會自動使用auth命令認證了。相當於做了一個免密碼登錄。
(如果redis有密碼,必須設置masterauth參數,否則數據是同步不過來的)