Redis的備份與恢復
- Redis是內存數據庫,數據存在內存中的,當關機的時候,會自動將數據保存到備份文件dump.rdb中。Redis數據庫的備份與恢復,能解決這個問題。
1. 備份
- 語法:SAVE
127.0.0.1:6379> SAVE
OK
該命令將在 redis 安裝目錄中創建備份文件——dump.rdb文件
2. 恢復
- 將備份文件(dump.rdb)移動到redis安裝目錄並啓動服務
- 語法:
//先獲取redis目錄
CONIFG GET dir
//返回 /usr/local/redis/bin
//然後將dump.rdb移動到redis的安裝目錄,然後啓動即可
mv ./dump.rdb /usr/local/redis/bin/dump.rdb
3. 創建redis備份文件也可以使用命令BGSAVE,該命令在後臺執行
//在後臺備份的命令
BGSAVE
//然後後臺就開始備份了
Background saving started
Redis安全
- 可以通過redis的配置文件設置密碼參數,這樣客戶端鏈接到redis服務器就需要密碼驗證,這樣可以讓你的redis服務更加安全
//獲取密碼
CONFIG get requirepass
//返回
1) "requirepaas" //你要獲取的字段
2) "" //你要獲取字段的值
//設置密碼
CONFIG set requirepaas 'yuhua'
//返回
OK
CONFIG get requirepass
//返回無權限報錯
(error) NOAUTH Authentcation required.
//密碼驗證
AUTH yuhua
//返回OK
CONFIG get requirepass
//返回
1) "requirepass"
2) "yuhua"
什麼時候適合使用redis
- 由於其性能比較高,所以一般用在:
- 緩存
- 發佈訂閱
- 消息通訊
- 權限校驗
mongoDB+redis能解決性能問題,why?
- MongoDB存儲量非常大,可以存幾個T,分佈式數據庫,用的是硬盤,非常大,但是性能比較差
- redis內存數據庫,存儲量非常小,10G內存只能放10G數據,比較小,讀寫非常快
- 所以,會在MongoDB前面掛一塊redis
當客戶端想要獲取數據的時候,會先到mongodb,然後mongodb的數據線放到redis中,並設置一定的過期時間,然後將數據返回給客戶端。當客戶端再次獲取這個數據的時候,由於已經存在redis中且未過期,就會從redis中讀取了。redis性能高,所以這樣速度快。
- 一般都是幾種數據庫一起用的。
- 對於那些可靠性高的用mysql,比如用戶數據
- 對於那些存儲量大的用MongoDB
- 對於那些讀寫性能要求高的用redis