Redis——學習之路三(初識redis config配置)

    咱們先看看config 默認狀況下系統是怎麼配置的。在命令行中輸入 config get *(如圖)html

默認狀況下有61配置信息,每個命令佔兩行,第一行爲配置名稱信息,第二行爲配置的具體信息。
    咱們就從上到下來理解一下這些配置信息中的某些配置:
    1.dbfilename是本地持久化存儲數據庫文件名,默認爲dump.rdb。我能夠在安裝目錄文件夾下找到這個文件。
    2.requirepass是密碼,即鏈接服務器的密碼,默認爲空。下面我來設置一個密碼而後用帶密碼的命令鏈接一遍。
    3.msterauth設置鏈接mster服務的密碼(主從服務器的主服務器)。
    4.logfile日記記錄的地址及文件名稱。
    5.maxmemory 設置最大內存
    6.timeout一個客戶端閒置多少秒後關閉,默認是0,表明禁止,永不關閉
    7.auto-aof-rewrite-percentage AOF重寫文件的百分比,若是是100表示整個文件重寫,若是是0表示禁用AOF自動重寫特性
    8.auto-aof-rewrite-min-size 當前AOF文件大於多少是開始重寫AOF文件
    9.hash-max-zipmap-entries 512 配置字段最多512個。
    10.hash-max-zipmap-value 64 配置value最大爲64字節。
    11.list-max-ziplist-entries 512  配置list最大長度512個
    12.list-max-ziplist-value 64 配置list的value最大長度64字節
    13.set-max-intset-entries 512 配置set最大長度512個
    14.zset-max-ziplist-entries 128 配置zset最大長度512個
    15.zset-max-ziplist-value 64 配置zset的value最大長度64字節
    16.slowlog-log-slower-than 10000 配置這個告訴redis當一個命令執行超過多少時會被記錄,單位是微秒。被記錄的命令咱們能夠經過查看slowlog get 100(number) 查看
    17.slowlog-max-len 128 設置日記記錄的條數
    18.port 6379 端口號爲6379
    19.databases 16 當前redis服務器有16個數據庫
    20.repl-ping-slave-period 10 salve根據時間間隔向master發送ping請求,默認是10秒。
    21.repl-timeout 60 設置同步的超時時間 默認60秒
    22.repl-backlog-size 1mb 設置數據備份的backlog大小,當一個slave在一段時間斷開鏈接時記錄salve數據的緩衝,當它從新鏈接時,沒必要同步所有數據。
    23.repl-backlog-ttl 3600 當slave在一段時間斷開後多少時間咱們釋放backlog中的數據。
    24.maxclients 10000 最大同時鏈接的客戶端數量
    25.slave-priority 100 slave優先級,若是master再也不正常工做了,哨兵將用它來選擇一個slave提高爲master。數字越小 優先級越高,可是數字爲0時這個slave永遠不會提高爲master。
    26.min-slaves-to-write N與min-slaves-max-lag M是一塊兒設置的。表示若是master少於N個延遲小於等於M秒的已鏈接slave,就能夠中止接收寫操做。
    27.slave-server-stale-date yes 當一個slave失去可master的鏈接時,或者正在進行同步中,咱們設置slave-server-stale-date爲yes表示slave會繼續響應客戶端請求,多是正常數據,也多是尚未獲取值的空數據。若是咱們設置slave-server-stale-date爲no表示slave會"正在從matser同步(SYNC with master in prograess)"
    28.slave-read-only yes 設置你的slave服務是否爲只讀
    29.stop-write-on-bgsave-error yes 若是開啓RDB而且最新的後臺保存失敗,將禁止用戶對redis進行寫的操做,提示用戶保存失敗了
    30.daemonize no 默認在window下不支持這個配置,在linux下能夠。表示默認redis不會做爲守護進程運行。若是配置爲yes就是守護進程,若是設置爲守護進程就須要瞭解這個配置pidfile /var/run/redis.pid 配置守護進程的位置。
    31.rdbcompression yes當導出rdb文件時是否用LZF壓縮字符串對象。默認是yes,由於它幾乎在任何狀況下都是不錯的,可是若是咱們想節省CPU的話能夠設置no,可是若是你有壓縮了數據文件就會更大了。
    32.rdbchecksum yes 是否添加一個校驗放在文件最後,多消耗10%的性能。全部咱們能夠關掉它來提升性能。
    33.aof-rewrite-incremental-fsnc yes 當一個子進程重寫AOF文件時,若是啓用,則文件每生成32M數據會被同步。爲了增量式的寫入硬盤而且避免大的延遲高峯這個指令是很是有用的。
    34.dir 數據庫工做的目錄。
    35.maxmemmory-policy volatile-lru 內存達到上線刪除key的策略
        # volatile-lru -> 根據LRU算法生成的過時時間來刪除。
        # allkeys-lru -> 根據LRU算法刪除任何key。
        # volatile-random -> 根據過時設置來隨機刪除key。 
        # allkeys->random -> 無差異隨機刪。 
        # volatile-ttl -> 根據最近過時時間來刪除(輔以TTL) 
        # noeviction -> 誰也不刪,直接在寫操做時返回錯誤。3
    36.appendfsync everysec fsync() 系統調用告訴操做系統把數據寫到磁盤上,而不是等更多的數據進入輸出緩衝區。
        # Redis支持三種不一樣的模式:
        # no:不要馬上刷,只有在操做系統須要刷的時候再刷。比較快。
        # always:每次寫操做都馬上寫入到aof文件。慢,可是最安全。
        # everysec:每秒寫一次。折中方案。 
     37.save 900 1 save 300 10 save 60 10000 把數據庫存在磁盤上
        #   會在指定秒數和數據變化次數以後把數據庫寫到磁盤上。
        #
        #   下面的例子將會進行把數據寫入磁盤的操做:
        #   900秒(15分鐘)以後,且至少1次變動
        #   300秒(5分鐘)以後,且至少10次變動
        #   60秒以後,且至少10000次變動
    38.loglevel notice 
        # 指定服務器調試等級
        # 可能值:
        # debug (大量信息,對開發/測試有用)
        # verbose (不少精簡的有用信息,可是不像debug等級那麼多)
        # notice (適量的信息,基本上是你生產環境中須要的)
        # warning (只有很重要/嚴重的信息會記錄下來)
    39.client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60.
        # 客戶端的輸出緩衝區的限制,可用於強制斷開那些由於某種緣由從服務器讀取數據的速度不夠快的客戶端,
        # (一個常見的緣由是一個發佈/訂閱客戶端消費消息的速度沒法遇上生產它們的速度)
        #
        # 能夠對三種不一樣的客戶端設置不一樣的限制:
        # normal -> 正常客戶端
        # slave -> slave和 MONITOR 客戶端
        # pubsub -> 至少訂閱了一個pubsub channel或pattern的客戶端
    40.slaveof 127.0.0.1 6379 指定master服務的地址端口
    41.bind    默認狀況下全部網絡都不訪問,若是設置了bind就能夠控制訪問的網絡。
 
下一章我將學習一下redis如何配置主從服務,同時如何使用sentinel來自動處理master宕機的狀況
 
下面是我前面寫的redis學習記錄
 
 
 
以上是本身我的學習的記錄,若是有什麼不對的地方請你們指正,歡迎評論!
相關文章
相關標籤/搜索