Redis客戶端連接以及持久化數據

一、介紹


之前我們講解了Redis的結構與指令,其實很簡單,我也沒有過多的講解,這次我們講解一下Redis連接客戶端以及持久化方案。

1、上文中我們針對redis的數據操作都是在服務器中使用命令執行的,當然這個也是非常安全的處理方式,那麼在開發的階段爲了方便我們可是使用可視化界面連接redis,

比如RedisDesktopManager 這個軟件等,方便我們快速的操作數據,下面的介紹也是依據這個軟件進行的。

2、 針對與Redis 大家肯定也知道,redis的數據是保存在內存的,但是一旦把redis關閉則數據就會丟失,爲了防止數據丟失,那麼我就需要數據持久化到硬盤上,在此提供了兩種持久化方案:

第一種是 RDB 快照的形式,第二種是 AOF 類似日誌追加的方式。

那麼我就快速的帶大家瞭解一下

二、Redis客戶端連接


1、前提說明一下:此方案只允許測試的時候配置,其他情況禁止使用

2、我們進入Redis的文件夾中,新建一個redis配置文件,文件名爲: redis.custom.conf,然後在裏面如下內容:

配置中的bind 代表綁定 本服務器的IP,在生產環境中禁止使用 0.0.0.0 ,此IP代表服務器內所有的IP都可以被外網進行連接;在生產環境中我們推薦使用綁定具體的內網IP,如我的IP爲:192.168.250.132

daemonize yes
port 6666
requirepass 123
logfile ./redislog_louie.log
dir ./
bind 192.168.250.132 127.0.0.1  #  0.0.0.0

 3、此處我的redis端口爲6666,如果大家沒有關閉防火牆,則需要在防火牆中開啓端口通過,允許端口6666的通過。

配置完成後我們保存然後啓動。

./src/redis-server redis.custom.conf

然後我們使用 可視化工具連接一下我們的redis,發現連接成功,那麼我就可以直接進行增刪改查的數據操作啦。

 操作數據

 

 redis客戶端已說明完,下面就是最重要的redis持久化。

三、Redis持久化方案


1、redis持久化有兩種方案,一種是RDB,一種是AOF

2、RDB數據持久化

 1)說明:RDB是整體快照備份一樣,就像我們系統進行鏡像的備份這種快照處理,當然看到這個大家應該會有一個問題,這樣備份效率相對比較慢,而且一次備份數據比較大,所以官方也不推薦使用此方案進行數據持久化,但我們還得結合實際情況使用,像

redis主從複製的原理底層數據就是通過RDB。

  2)觸發RDB的方式有兩種:

  save 同步保存

  bgsave 異步保存

話不多說我們配置一下RDB

daemonize yes
port 6666
requirepass 123
logfile ./redislog_louie.log
dir ./
bind 192.168.250.132 127.0.0.1 #  0.0.0.0

save 20 1  # 自動保存策略,20秒內有一個key發生變化就自動保存
dbfilename rdb_louie.rdb  #  rdb文件名
stop-writes-on-bgsave-error yes #  發生錯誤中斷寫入,建議開啓
rdbcompression yes  # 數據文件壓縮,建議開啓
rdbchecksum yes # 開啓crc64錯誤校驗,建議開啓

保存,運行一下我們的redis,就可以看到我們產生的rdb 文件了。

3、AOF數據持久化(推薦方案)

說明:日誌追加數據持久化,即在原先的數據基礎上進行追加,而不是完全覆寫,這樣效率高。

注:如果RDB與AOF同時存在的情況下,redis默認優先使用AOF進行數據恢復。

        Java學習交流圈:874811168 歡迎入駐交流。

AOF的配置如下:

daemonize yes
port 6666
requirepass 123
logfile ./redislog_louie.log
dir ./
bind 192.168.250.132 127.0.0.1 # 0.0.0.0

appendonly yes  # 開啓aof
appendfilename aof_louie.aof  # aof 日誌文件名
appendfsync everysec  #  每秒記錄一次日誌,建議everysec
no-appendfsync-on-rewrite yes  # 重寫過程中是否向日志文件寫入,yes 代表rewrite過程中,不向aof文件中追加信息,rewrite結束後再寫入,no 代表rewrite執行的同時,也向aof追加信息
auto-aof-rewrite-percentage 100 # 觸發重寫文件增長百分比 默認100%
auto-aof-rewrite-min-size 64mb  # 觸發重寫最小aof文件尺寸

看到上面的配置,大家會有疑問,爲什麼會有 重寫,主要是因爲要壓縮數據,產生的文件更小,防止同樣的相同命令佔用空間,比如如下:用最簡短的命令來操作數據

重寫說明

至此,數據持久化已經都介紹完後 

四、總結


redis的持久化方案建議採用AOF,高效便捷。下一篇文章我們就要進行redis高可用的介紹。

如果針對上面有任何問題,歡迎留言諮詢。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章