安裝: >>> curl -O http://download.redis.io/releases/redis-3.2.8.tar.gz >>> tar -zxvf redis-3.2.8.tar.gz
# 進入到解壓的檔案夾根目錄 >>> sudo make install
# 進入到/usr/local/bin内檢視: >>> cd /usr/local/bin
>>> ls -a
redis-server redis伺服器
redis-cli redis指令行用戶端
redis-benchmark redis性能測試工具
redis-check-aof AOF檔案修複工具
redis-check-rdb RDB檔案檢索工具
配置: # 手動建立目錄:/etc/redis
# 複制檔案redis解壓目錄下的redis.conf到剛建立的/etc/conf目錄下
# 修改redis.conf: bind 127.0.0.1
port 6379
daemonize yes - 背景運作,是否有以守護程序運作
dbfilename dump.rdb - 資料庫檔案
dir /etc/redis - 資料檔案儲存的目錄
logfile /etc/redis/redis-server.log - 日志檔案
database 16 - 資料庫個數
requirepass “123465” - 設定密碼
# 啟動服務端:
# 在項目目錄下建立[].conf檔案,并寫入需要修改的選項,如
bind 127.0.0.1 port 7001
# 進入到項目目錄,啟動服務端: >>> sudo redis-server [].conf
# 檢視是否啟動成功:
>>> ps -ef|grep redis-server
# 停止:
>>> sudo pkill -9 redis-server
# 啟動用戶端: # 連接配接到redis伺服器
>>> redis-cli -h 主機 -p port —-raw
# —-raw 選項用于檢視值為中文的情況
# 切換資料庫:
>>> select 2
搭建主從: 1> 浏覽器網站,網站向資料庫儲存資料,master主伺服器寫資料,slave自動備份資料。
2> 作用:
a. 備份資料:主伺服器會同步資料到從伺服器
b. 實作讀寫分離:master負責寫資料,slave負責讀資料
3> 步驟:
a. 建立一個新目錄:/Desktop/python/redis,拷貝redis.conf 到目前目錄下
sudo cp /redis解壓目錄/redis.conf /home/python/redis/master.conf
b. 改名為master.conf,修改配置如下是:
bind 192.168.210.150
port 7000
daemonize yes
c. 啟動主伺服器:
redis-server master.conf
d. 拷貝新的redis.conf到相同目錄,修改為slave.conf,并修改配置如下:
bind 192.168.210.149
port 7000
daemonize yes
slaveof 192.168.210.150 7000
e. 啟動從伺服器:
f. 檢視主:
g. 檢視從:
redis-cli -h 192.168.210.149 -p 7000 info Replication
搭建叢集:實作負載均衡,至少需要三個主從伺服器
1> 配置6個伺服器的conf檔案如下:
bind 192.168.210.150
port 7001
pidfile 7001.pid
cluster-enabled yes
cluster-config-file 7001_node.conf
cluster-node-timeout 5000
daemonize yes
appendonly yes
# pidfile:運作後建立,記錄pid
# cluster-config-file:運作後記錄配置,運作狀态等
# appendonly:開啟持久化的一種模式,redis有兩種:RDB和AOF
RDB模式: Redis預設采用異步的方式将資料存放到磁盤上,這個模式對大部份應用來說是足夠好的,但是在Redis程序或 電源發生故障的情況下,可能會造成小部份的資料丢失,這取決于配置的儲存時間點。
AOF模式: Appendonly是一種能夠提供非常好的持久化的模式,例如使用預設的Fsync方案,Redis能在發生伺服器電源 故障或作業系統仍然正常運作但Redis程序莫名挂掉的情況下,隻丢失1秒的資料。
AOF與RDB模式可以同時啟用,這并不沖突。如果AOF是可用的,那Redis啟動時将自動加載AOF,這個檔案能夠提供更好的持久性保障。
2> 啟動6個伺服器:redis-server [].conf
3> 建立叢集: # 将redis解壓包中src目錄下的redis-trib.rb拷貝到/usr/local/bin目錄:
# 注意先進入 redis-trib.rb 所在的目錄
sudo cp redis-trib.rb /usr/local/bin/
# 安裝ruby環境:
brew install ruby
apt-get instal ruby # linux
# 安裝ruby的redis依賴:
i. 查詢gem源位址,如果不是https://rubygems.org/,需要更換
gem source -l
ii. 更換gem源:
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
iii. 安裝redis包:
sudo gem install redis
4> 使用redis-trib.rb建立叢集:# —-replicas 1 表示一個主配一個從
5> 通過叢集連接配接伺服器:
redis-cli -c -h 192.168.210.149 -p 7001
# cry16算法:redis叢集預設定義16384個slot,平均配置設定,通過叢集儲存鍵值對時,redis會通過算法,CRC16(KEY)%16384,根據結果找到伺服器
python中使用叢集:
# 安裝包:
pip install redis-py-cluster