Windows下安裝Redis


Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的紀錄檔型、Key-Value資料庫,和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set —有序集合)和hash(雜湊型別)。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是快取在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。

  Redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。這使得Redis可執行單層樹複製。存檔可以有意無意的對資料進行寫操作。

Redis支援兩種持久化方式:

  1. snapshotting(快照)也是預設方式.(把資料做一個備份,將資料儲存到檔案)
  2. Append-only file(縮寫aof)的方式

    快照是預設的持久化方式,這種方式是將記憶體中資料以快照的方式寫到二進位制檔案中,預設的檔案名稱為dump.rdb.可以通過組態設定自動做快照持久化的方式。我們可以組態redis在n秒內如果超過m個key鍵修改就自動做快照.

    aof方式:由於快照方式是在一定間隔時間做一次的,所以如果redis意外down掉的話,就會丟失最後一次快照後的所有修改。aof比快照方式有更好的持久化性,是由於在使用aof時,redis會將每一個收到的寫命令都通過write函式追加到檔案中,當redis重新啟動時會通過重新執行檔案中儲存的寫命令來在記憶體中重建整個資料庫的內容。

Windows下Redis的安裝

  Redis官方下載(官方地址:http://redis.io/download)只能用於Linux環境下,所以要在Windows環境下安裝Redis就不能從官方進行下載了。為了能夠在Windows平台安裝Redis,微軟的Microsoft Open Tech團隊為我們開發了Windows版本下Redis。下載地址為:http://github.com/MSOpenTech/redis,但是Microsoft Open Tech團隊開發的最新版本只能應用於64位元作業系統,但是我使用的還是32位元作業系統,那是不是我就不能安裝Redis了呢?幸好微軟之前開發的Redis之前版本還是支援32位元系統的,所以我本機只能安裝之前的版本了。這裡我選擇的是2.6版本,下載地址:http://github.com/MSOpenTech/redis/tree/2.6/bin/release。下載redisbin.zip檔案之後直接解壓到指定目錄就完成了Redis的安裝了,解壓成功後,你將看到如下幾個Dll:

  • redis-server.exe:服務程式
  • redis-check-dump.exe:本地資料庫檢查
  • redis-check-aof.exe:更新紀錄檔檢查
  • redis-benchmark.exe:效能測試,用以模擬同時由N個用戶端傳送M個 SETs/GETs 查詢
  • redis-cli.exe: 伺服器端開啟後,我們的用戶端就可以輸入各種命令測試了

接下來,只需要雙擊redis-server.exe程式就可以啟動Redis服務,在2.6版本中可以不指定config路徑,不像網上的Redis介紹文章都需要指定config檔案,因為它們下載一般都是更早的版本,如2.4等版本。在2.6版本不需要特別指定config檔案就可以啟動成功,啟動成功的介面如下圖所示:

服務啟動成功後,我們就可以像MongoDB一樣,開啟redis-cli.exe用戶端程式要操作Redis伺服器,關於使用redis-cli.exe用戶端命令的方式這裡就不介紹了,更多可以參考官方文件,因為對我們來說,更常用的是使用C#、Java來操作Redis服務。在第四部分我將介紹使用C#來操作Redis。

一般服務我們都是用Windows Service來啟動的,對於最新版本的Redis安裝為Windows Service官方有詳細的介紹,由於這裡我不是用的最新版本,並且還是32位元的,所以這裡我安裝Windows Service是通過sc(http://www.cnblogs.com/jankie/archive/2011/08/03/2126249.html)命令來安裝的,具體的安裝指令碼如下所示:

sc create Redis start= auto DisplayName= Redis binpath= "F:\Study\No-Sql\Redis\redis-windows\RedisService.exe"

其中RedisService是Redis註冊Windows服務的啟動程式,具體下載地址為:http://files.cnblogs.com/files/zhili/RedisService.zip

通過上面的指令碼就可以成功安裝Redis為Windows Service了,然後每次系統啟動的時候,就會自動開啟Redis服務,而不需要我們每次去手動執行redis-server.exe命令了。