redis之單機和主從環境搭建

單機環境搭建

  • 官網http://redis.io/download下載xxx.tar.gz二進制壓縮包,注意下載2.8+版本,2.8以前的版本以前從服務器不支持部分重複制,2.6以前的版本不支持setnx命令redis

  • 解壓安裝bash

    #解壓
    tar -zxvf xxx.tar.gz
    #進入目錄
    cd redisxxxx
    #編譯安裝到/usr/local/redis目錄下
    sudo make PREFIX=/usr/local/redis install
    #從安裝包中找到redis的配置文件,拷貝到根目錄下
    sudo cp redis.conf /usr/local/redis
    #啓動redis
    ./redis-server ../redis.conf 

主從搭建(同一臺機器上搭建僞主從)

思路

一臺主服務器,使用默認配置便可,一臺從服務器,配置要複製的主服務 SALVEOF host port,若是你熟悉redis配合的話,你會發現默認給的配置文件裏一個大項一個大項的分好了服務器

過程

  • 按單機環境安裝好redis,注意我這邊因爲本地環境問題,直接在redis/src目錄下啓動的學習

  • 準備兩份配置文件redis_6379.conf和redis_6380.conf,修改對應的端口號測試

    redis_6379.conf配置以下spa

    # 修改啓動方式爲後臺啓動,此處爲學習能夠暫不開啓,這樣能夠直接看到啓動日誌,生產部署也建議調試好後再啓動後臺方式
    daemonize no 
    修改成:
    daemonize yes  (後臺程序方式運行)
    ​
    # 修改pid文件名
    pidfile /var/run/redis.pid
    修改成:
    pidfile /var/run/redis_6379.pid
    ​
    # 若是有密碼主從服務器都須要新增相關的auth的配置

    redis_6380.conf配置以下調試

    # 修改啓動方式爲後臺啓動,此處爲學習能夠暫不開啓,這樣能夠直接看到啓動日誌,生產部署也建議調試好後再啓動後臺方式
    daemonize no 
    修改成:
    daemonize yes  (後臺程序方式運行)
    ​
    # 修改pid文件名
    pidfile /var/run/redis.pid
    修改成:
    pidfile /var/run/redis_6380.pid
    ​
    # 從節點新增配置複製主機,增長這一行
    slaveof 127.0.0.1 6379
    ​
    # 若是有密碼主從服務器都須要新增相關的auth的配置
  • 啓動,此處是mac環境經過brew安裝,直接命令+指定conf方式啓動日誌

    # 啓動主機器
    ./src/redis-server ../redis_6379.conf
    # 啓動從服務器
    ./src/redis-server ../redis_6380.conf
  • 測試code

    #鏈接到主服務器
    redis-cli -h localhost -p 6379
    # 查看服務器信息
    info
    ​
    # 測試主從數據是否同步,在主服務器set,在從服務器get
  • 遇到的問題server

    *** FATAL CONFIG FILE ERROR ***
    Reading the configuration file, at line 194
    'always-show-logo yes'
    Bad directive or wrong number of arguments

    遇到這個問題的緣由是,我本地的環境是mac,除了上面方式安裝的redis 還有個homebrew安裝的redis,經過brew info redis 命令能夠看到是4.0.1版本的,我啓動命令是運行的3.2.8,配置使用的4.0.1的,因此不匹配。

官方redis集羣搭建

不建議使用官方提供的redis集羣,若是須要支撐大致量和高可用能夠考慮codis集羣,可是不支持事務等特性

相關文章
相關標籤/搜索