效能測試二十三:環境部署之Redis安裝和配置
redis:非關係型資料庫,記憶體資料庫,no-sql典型, 資料存放在記憶體中,一斷電或者關閉就沒有了
mysql、oracle、sqlserver···是關係型資料庫,資料存放在磁碟中
一個Redis的每秒鐘的讀寫大概在5萬tps左右,當使用多個Redis佈置集群后,效能相當強悍
redis安裝方法:
先把安裝包上傳到/export/servers/目錄下
解壓安裝包,進入到redis安裝包目錄下
tar vxf redis-4.0.8.tar.gz
改一下名字,進到目錄下
原始碼都在scr目錄下
在Redis目錄下
1、執行make命令編譯
2、執行make install安裝
3、在目錄下拷貝redis.conf模板,在redis目錄下新建conf目錄,如cp redis.conf conf/6379.conf,如果是多個埠就直接拷貝即可,cp redis.conf 6380.conf cp redis 6381.conf
新建conf目錄
把redis.conf模板複製到conf目錄下
為了方便區分,把名字改為6379
4、更改 6379.conf檔案
改port,第二個例項修改為其他的埠
Redis預設埠號為6379
查詢daemonize選項,新增yes(是否後臺啟動,yes代表是)
改為yes
註釋三行save選項,註釋代表不開持久化
dbfilename dump.rdb:每個例項配置的rdb檔名應該不一樣
一般改為和當前Redis埠號一樣的名字,如當前這個Redis的埠號是6379
下面有一個dir ./,代表在哪裡啟動,上面那個rdb檔案就存在當前目錄下
maxclients:最大併發數,預設為10000,且為註釋狀態(可修改)
maxmemory:使用的最大記憶體,一般這種第三方的工具最多分配系統記憶體的2/3,根據實際情況修改
5、啟動redis-server:在redis的conf目錄下,啟動redis-server命令即可
redis-server ./6379.conf
由於Redis安裝時,會自動將server和相關工具放到/usr/local/bin/目錄下
所以比如我要啟動Redis,在任意位置執行redis-server ./6379.conf即可,這裡為了方便找檔案,還是回到Redis目錄下執行
執行redis-server ./6379.conf
6、通過redis的客戶端檢視資料:在任意目錄下,redis-cli -p 63xx,就可以進入到對應的redis例項裡(類似於用Navicat工具連線資料庫)
持久化
持久化是指將redis的記憶體資料儲存到物理磁碟上,提高資料安全性
主從配置
在從redis的conf檔案中,配置上slaveof 127.0.0.1 6379,重啟從redis
Redis的兩種持久化配置
rdb:在指定的時間間隔內將記憶體中的資料集快照寫入磁碟 (預設開啟)
優點:效能最大化 、如果資料集很大,RDB的啟動效率會更高
缺點:資料安全性差
3個save項可以根據實際情況修改
由於之前已經觸發過操作,所以在目錄下已經生成了一個6379.rdb檔案,Redis下一次啟動時,會自動載入這裡面的資料, rdb檔案存放的是二進位制的資料
aof:以日誌的形式記錄伺服器所處理的每一個寫、刪除操作,查詢操作不會記錄(預設關閉)
優點:資料安全性高
缺點:對於相同數量的資料集而言,AOF檔案通常要大於RDB檔案。恢復資料慢
改為yes,為了避免檔名重複,把儲存的檔名改為埠號
設定同步的頻率:推薦appendfsync everysec
重啟Redis,即會生成aof檔案
由於此時Redis沒有去載入rdb檔案,所以是空的,可以造一些資料
插入資料
使用tail命令檢視,可以看出,aof檔案中存的是執行的命令記錄