2019年7月16日 星期二

[指令] Redis for Windows 簡易指令及配置

將 redis 安裝成 window service
redis-server --service-install redis.windows.conf

卸載服務
redis-server --service-uninstall { --service-name _name }

手動開啟redis(不設定為服務)
redis-server redis.windows.conf

啟用服務
redis-server --service-start

停止服務
redis-server --service-stop { --service-name _name }


安裝:

    ref: https://dotblogs.com.tw/zackmyself/2017/04/27/005621

配置

    將壓縮包解壓後,運行命令行並切換至解壓目錄
     運行命令D:\Redis-x64-3.2.100>redis-server.exe redis.windows.conf,啟動redis服務
     測試,雙擊打開D:\Redis-x64-3.2.100\redis-cli.exe,運行127.0.0.1:6379> set name songyushi,在設置密碼的情況下會報(error) NOAUTH Authentication required.
     輸入127.0.0.1:6379> help可以查看幫助信息
     關閉服務,直接關閉視窗即可
     在解壓目錄下可以通過輸入以下命令,將redis安裝為windows服務,使其開機自啟動

    D:\Redis-x64-3.2.100>redis-server --service-install redis.windows.conf

    在執行完上一條指令後,redis即已作為windows服務,但此時redis服務並未啟動,需要輸入以下命令

    D:\Redis-x64-3.2.100>redis-server --service-start
     [17060] 11 May 17:07:55.404 # Redis service successfully started.

    停止redis服務,在解壓路徑下使用命令redis-server --service-stop
     從windows中卸載redis服務,在解壓路徑下使用命令redis-server –service-uninstall
     命令行切換至解壓目錄下,運行登錄命令redis-cli.exe -h 127.0.0.1 -p 6379

    D:\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379 //未設置redis密碼情況下
     127.0.0.1:6379> config get requirepass //獲取redis密碼

設置密碼

    打開D:\Redis-x64-3.2.100\redis.windows.conf文件,設置requirepass屬性

    requirepass redisadmin //此處行前不能有空格

    設置密碼後,需要重新登錄

    D:\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379 -a redisadmin
     127.0.0.1:6379> config get requirepass //獲取redis密碼
     1) "requirepass"
     2) "redisadmin"

主從復制

    此處以一個master、一個slave為例來實現主從復制

    將壓縮包解壓至兩個不同路徑,一個用來存放master,另一個存放slave
     修改masterD:\Redis-x64-3.2.100\redis.windows.conf中的bind屬性

    bind 127.0.0.1 //指定redis只接收來自於該ip的請求,如果不進行設置,將處理所有請求

    修改slaveD:\RedisSlave\redis.windows.conf中的以下屬性

    port 6380


     bind 127.0.0.1


     requirepass redisslaveadmin //slave的密碼


     slaveof 127.0.0.1 6379 //設置該數據庫為其他數據庫的從數據庫,master的host及port


     masterauth redisadmin //master連接需要密碼驗證,master的密碼

    將slave安裝為windows服務,使其開機自啟動,進入解壓路徑運行以下指令

    redis-server --service-install redis.windows.conf --service-name redisslave --port 6380 //安裝


     redis-server --service-start --service-name redisslave //啟動


     redis-server --service-stop --service-name redisslave //停止


     redis-server --service-uninstall --service-name redisslave //卸載

登錄,測試

    D:\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379 -a redisadmin //master
     127.0.0.1:6379> set name songyushi
     OK
     127.0.0.1:6379> get name
     "songyushi"

    D:\RedisSlave>redis-cli.exe -h 127.0.0.1 -p 6380 -a redisslaveadmin //slave
     127.0.0.1:6380> get name
     "songyushi"
    
常見錯誤排除

    HandleServiceCommands: system error caught. error code=1073, message = CreateService failed: unknown error

    没有启用管理员权限打开cmd

    HandleServiceCommands: system error caught. error code=1072, message = CreateService failed: unknown error

    该服务已存在,输入redis-server --service-uninstall删除之前的服务

    Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

    已打开redis-server,用管理员权限打开cmd做以下步骤

    Redis-cli.exe
     shutdown
     exit
     redis-server.exe redis.windows.conf

   
轉載至: https://soyuone.github.io/2017/05/11/redis-windows-configure/

沒有留言 :

張貼留言