天天看點

Redis用戶端連接配接以及持久化資料(三)

0、Redis目錄結構

      1)

Redis介紹及部署在CentOS7上(一)

      2)

Redis指令與資料結構(二)

      3)

Redis用戶端連接配接以及持久化資料(三)

      4)

Redis高可用之主從複制實踐(四)

      5)

Redis高可用之哨兵模式Sentinel配置與啟動(五)

      6)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用戶端已說明完,下面就是最重要的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進行資料恢複。

Redis用戶端連接配接以及持久化資料(三)

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用戶端連接配接以及持久化資料(三)

重寫說明

Redis用戶端連接配接以及持久化資料(三)

至此,資料持久化已經都介紹完後 

四、總結

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

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

asp.net core 交流群:787464275 歡迎加群交流

如果您認為這篇文章還不錯或者有所收獲,您可以點選右下角的【推薦】按鈕精神支援,因為這種支援是我繼續寫作,分享的最大動力!

作者:

LouieGuo http://www.cnblogs.com/stulzq

聲明:原創部落格請在轉載時保留原文連結或者在文章開頭加上本人部落格位址,如發現錯誤,歡迎批評指正。凡是轉載于本人的文章,不能設定打賞功能,如有特殊需求請與本人聯系!

微信公衆号:歡迎關注                                                 QQ技術交流群: 歡迎加群

Redis用戶端連接配接以及持久化資料(三)
Redis用戶端連接配接以及持久化資料(三)

繼續閱讀