1. 程式人生 > >在windows上部署使用Redis

在windows上部署使用Redis

卸載 release 分享圖片 目前 32位系統 ase code 簡單 windows

這兩天在重新做公司內網首頁,信息都是從別的系統獲取的,產品原來打算直接上靜態頁,jsonp異步取數據。但是一來jsonp比較坑(一直不喜歡),二來整個頁面的數據都異步獲取的話,剛剛打開頁面的時候會空白一片,體驗極其差。所以決定用node.js + express + redis簡單搞下。今天早晨一直在折騰Redis,看了挺多文章,可能是版本或者其他的原因,我遇到的問題他們都沒有提,不過終於還是部署上了,下面把過程寫下給大家參考。

下載Redis

在Redis的官網下載頁上有各種各樣的版本,我這次是在windows上部署的,要去GitHub上下載。目前的是2.8.12版的,直接解壓,在\bin\release

目錄下有個壓縮包,這就是我們需要的:

技術分享圖片

啟動Redis(以下命令均在dos命令行下執行,不是在Redis客戶端)

直接在上圖的目錄打開命令窗口,運行:

  1. redis-server redis.windows.conf

技術分享圖片

結果就悲劇了,提示:QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAllocEx failed.: unknown error 。原因是內存分配的問題(如果你的電腦夠強悍,可能不會出問題)。解決方法有兩個,第一:啟動的時候使用--maxmemory 命令限制Redis的內存:

  1. redis-server redis.windows.conf --maxmemory 200m

第二種方法就是修改配置文件redis.windows.conf

  1. maxmemory 209715200

註意單位是字節,改完後如下:

技術分享圖片

之後再運行redis-server redis.windows.conf 就可以啟動了:

技術分享圖片

但是問題又來了,關閉cmd窗口就會關閉Redis,難道服務器上要一直開著嗎?這顯然是不科學的,下面看怎麽在服務器上部署。

部署Redis

其實Redis是可以安裝成windows服務的,開機自啟動,命令如下:

  1. redis-server --service-install redis.windows.conf

安裝完之後,就可看到Redis已經作為windows服務了:

技術分享圖片

技術分享圖片

但是安裝好之後,Redis並沒有啟動,啟動命令如下:

  1. redis-server --service-start

停止命令:

  1. redis-server --service-stop

還可以安裝多個實例

  1. redis-server --service-install service-name redisService1 port 10001
  2. redis-server --service-start service-name redisService1
  3. redis-server --service-install service-name redisService2 port 10002
  4. redis-server --service-start service-name redisService2
  5. redis-server --service-install service-name redisService3 port 10003
  6. redis-server --service-start service-name redisService3

卸載命令:

  1. redis-server --service-uninstall

最後提示一下:2.8版本的不支持32位系統,32位系統要去下載2.6版本的。2.6版本的無法像上面一樣方便的部署,它提供一個叫RedisWatcher的程序來運行redis server,Redis停止後會自動重啟。

另外推薦一個Redis可視化管理工具:Redis Desktop Manager,官網的下載地址被墻了,可以在我的網盤下載 v0.7.6版,放個截圖:

技術分享圖片

在windows上部署使用Redis