天天看點

Redis 資料庫配置

安裝:     >>> curl -O http://download.redis.io/releases/redis-3.2.8.tar.gz     >>> tar -zxvf redis-3.2.8.tar.gz

    # 進入到解壓的檔案夾根目錄     >>> sudo make install

    # 進入到/usr/local/bin内檢視:     >>> cd /usr/local/bin

    >>> ls -a

    redis-server redis伺服器

    redis-cli redis指令行用戶端

    redis-benchmark redis性能測試工具

    redis-check-aof AOF檔案修複工具

    redis-check-rdb RDB檔案檢索工具  

配置:     # 手動建立目錄:/etc/redis

         # 複制檔案redis解壓目錄下的redis.conf到剛建立的/etc/conf目錄下

    # 修改redis.conf:         bind 127.0.0.1

        port 6379

        daemonize yes - 背景運作,是否有以守護程序運作

        dbfilename dump.rdb - 資料庫檔案

        dir /etc/redis - 資料檔案儲存的目錄

        logfile /etc/redis/redis-server.log - 日志檔案

        database 16 - 資料庫個數

       requirepass “123465”  - 設定密碼

# 啟動服務端:

    # 在項目目錄下建立[].conf檔案,并寫入需要修改的選項,如

        bind 127.0.0.1         port 7001

    # 進入到項目目錄,啟動服務端:         >>> sudo redis-server [].conf

    # 檢視是否啟動成功:

        >>> ps -ef|grep redis-server

    # 停止:

        >>> sudo pkill -9 redis-server

# 啟動用戶端:          # 連接配接到redis伺服器

        >>> redis-cli -h 主機 -p port —-raw

        # —-raw 選項用于檢視值為中文的情況

    # 切換資料庫:

        >>> select 2

搭建主從:     1> 浏覽器網站,網站向資料庫儲存資料,master主伺服器寫資料,slave自動備份資料。

    2> 作用:

        a. 備份資料:主伺服器會同步資料到從伺服器

        b. 實作讀寫分離:master負責寫資料,slave負責讀資料

Redis 資料庫配置

    3> 步驟:

        a. 建立一個新目錄:/Desktop/python/redis,拷貝redis.conf 到目前目錄下

sudo cp /redis解壓目錄/redis.conf /home/python/redis/master.conf           

        b. 改名為master.conf,修改配置如下是:

bind 192.168.210.150
        port 7000
        daemonize yes           

        c. 啟動主伺服器:

redis-server master.conf
           

        d. 拷貝新的redis.conf到相同目錄,修改為slave.conf,并修改配置如下:

bind 192.168.210.149
         port 7000
         daemonize yes
         slaveof 192.168.210.150 7000           

        e. 啟動從伺服器:

        f. 檢視主:

        g. 檢視從:

redis-cli -h 192.168.210.149 -p 7000 info Replication           

搭建叢集:實作負載均衡,至少需要三個主從伺服器

1> 配置6個伺服器的conf檔案如下:

bind 192.168.210.150
     port 7001
     pidfile 7001.pid
     cluster-enabled yes                     
     cluster-config-file 7001_node.conf    
     cluster-node-timeout 5000
     daemonize yes
     appendonly yes      
           

    # pidfile:運作後建立,記錄pid

    # cluster-config-file:運作後記錄配置,運作狀态等

    # appendonly:開啟持久化的一種模式,redis有兩種:RDB和AOF

        RDB模式: Redis預設采用異步的方式将資料存放到磁盤上,這個模式對大部份應用來說是足夠好的,但是在Redis程序或                  電源發生故障的情況下,可能會造成小部份的資料丢失,這取決于配置的儲存時間點。

        AOF模式: Appendonly是一種能夠提供非常好的持久化的模式,例如使用預設的Fsync方案,Redis能在發生伺服器電源                  故障或作業系統仍然正常運作但Redis程序莫名挂掉的情況下,隻丢失1秒的資料。

        AOF與RDB模式可以同時啟用,這并不沖突。如果AOF是可用的,那Redis啟動時将自動加載AOF,這個檔案能夠提供更好的持久性保障。

2> 啟動6個伺服器:redis-server [].conf

3> 建立叢集:     # 将redis解壓包中src目錄下的redis-trib.rb拷貝到/usr/local/bin目錄:

# 注意先進入 redis-trib.rb 所在的目錄
      sudo cp redis-trib.rb /usr/local/bin/           

    # 安裝ruby環境:

brew install ruby           
apt-get instal ruby  # linux
           

    # 安裝ruby的redis依賴:

        i. 查詢gem源位址,如果不是https://rubygems.org/,需要更換

gem source -l           

        ii. 更換gem源:

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/           

        iii. 安裝redis包:

sudo gem install redis           

4> 使用redis-trib.rb建立叢集:# —-replicas 1 表示一個主配一個從

5> 通過叢集連接配接伺服器:

redis-cli -c -h 192.168.210.149 -p 7001           

# cry16算法:redis叢集預設定義16384個slot,平均配置設定,通過叢集儲存鍵值對時,redis會通過算法,CRC16(KEY)%16384,根據結果找到伺服器

python中使用叢集:

# 安裝包:

pip install redis-py-cluster