Redis客戶端鏈接以及持久化數據(三)

0、Redis目錄結構


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

      2)Redis指令與數據結構(二)redis

      3)Redis客戶端鏈接以及持久化數據(三)安全

      4)Redis高可用之主從複製實踐(四)服務器

      5)Redis高可用之哨兵模式Sentinel配置與啓動(五)微信

      6)Redis高可用之集羣配置(六)數據結構

 

1、介紹


上篇文章咱們講解了Redis的結構與指令,其實很簡單,我也沒有過多的講解,此次咱們講解一下Redis鏈接客戶端以及持久化方案。app

一、上文中咱們針對redis的數據操做都是在服務器中使用命令執行的,固然這個也是很是安全的處理方式,那麼在開發的階段爲了方便咱們但是使用可視化界面鏈接redis,asp.net

好比RedisDesktopManager 這個軟件等,方便咱們快速的操做數據,下面的介紹也是依據這個軟件進行的。異步

二、 針對與Redis 你們確定也知道,redis的數據是保存在內存的,可是一旦把redis關閉則數據就會丟失,爲了防止數據丟失,那麼我就須要數據持久化到硬盤上,在此提供了兩種持久化方案:工具

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

 

那麼我就快速的帶你們瞭解一下

 

2、Redis客戶端鏈接


一、前提說明一下:此方案只容許測試的時候配置,其餘狀況禁止使用

二、咱們進入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

 三、此處個人redis端口爲6666,若是你們沒有關閉防火牆,則須要在防火牆中開啓端口經過,容許端口6666的經過。

配置完成後咱們保存而後啓動。

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

而後咱們使用 可視化工具鏈接一下咱們的redis,發現鏈接成功,那麼我就能夠直接進行增刪改查的數據操做啦。

 操做數據

 

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

3、Redis持久化方案


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

二、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 文件了。

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

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

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

 

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文件尺寸

看到上面的配置,你們會有疑問,爲何會有 重寫,主要是由於要壓縮數據,產生的文件更小,防止一樣的相同命令佔用空間,好比以下:用最簡短的命令來操做數據

重寫說明

 

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

 

4、總結


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

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

 

asp.net core 交流羣:787464275 歡迎加羣交流
若是您認爲這篇文章還不錯或者有所收穫,您能夠點擊右下角的【推薦】按鈕精神支持,由於這種支持是我繼續寫做,分享的最大動力!

做者:LouieGuo
聲明:原創博客請在轉載時保留原文連接或者在文章開頭加上本人博客地址,如發現錯誤,歡迎批評指正。凡是轉載於本人的文章,不能設置打賞功能,若有特殊需求請與本人聯繫!

微信公衆號:歡迎關注                                                 QQ技術交流羣: 歡迎加羣

                

相關文章
相關標籤/搜索