Windows下使用Redis(一)安裝使用


一、Redis 是什么

  Redis 是一款依據BSD開源協議發行的高性能Key-Value存儲系統(cache and store)。它通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) , 有序集合(sorted sets)和位圖(bitmaps)等類型。官方網站是 http://redis.io/

  Redis 和其它 NO SQL 的比較本文不做過多闡述。我覺得 Redis 最好的地方就是提供數據持久化功能(定時把內存中的數據寫入文件),從而不至於一旦宕機將造成數據丟失。而且相較於 Memcached ,它提供的值類型選擇更為寬泛。

 

二、Redis 下載安裝  

  打開 Redis 官網,我們發現 Redis 官方並不支持 Windows 平台,但 Microsoft Open Tech Group 卻改變了這一情況

  點擊 Learn more

  點擊 Download ZIP, 下載完后解壓,我們發現其並沒有提供現成的執行安裝文件,這就需要我們自行進行編譯。定位到目錄 Redis\redis2.8\msvs,打開文件 RedisServer.sln

 

  項目結構如下圖

  由於筆者的機器為64位,在編譯之前我們確認一下編譯 Platform, 同時我們可以看到對於此 project 將會編譯產生 redis-server.exe 文件

   其它項目類似

   編譯成功之后,我們到其 Debug 目錄下找到編譯產生的文件

  為了便於處理,我們新建目錄 Redis,並把這些文件拷貝過去

  其中的 redis.conf 來自如下目錄

  至此,我們已經得到所有需要的文件了,下面就可以使用了,打開 CMD, 定位到目錄 D:\Developer\Redis\Redis,然后執行如下命令

redis-server.exe redis.conf

  執行成功的截圖(可以看到端口為6379, 進程標識符 PID 為7696)

  執行過程中還會讀取配置,由於截圖太長,故這里放出文字

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>cd D:\Developer\Redis\Redis

C:\Windows\system32>D:

D:\Developer\Redis\Redis>redis-server.exe redis.conf
processing redis.conf
arguments seen:
activerehashing
        yes
aof-load-truncated
        yes
aof-rewrite-incremental-fsync
        yes
appendfilename
        appendonly.aof
appendfsync
        everysec
appendonly
        no
auto-aof-rewrite-min-size
        64mb
auto-aof-rewrite-percentage
        100
client-output-buffer-limit
        normal, 0, 0, 0
        slave, 256mb, 64mb, 60
        pubsub, 32mb, 8mb, 60
daemonize
        no
databases
        16
dbfilename
        dump.rdb
dir
        ./
hash-max-ziplist-entries
        512
hash-max-ziplist-value
        64
hll-sparse-max-bytes
        3000
hz
        10
latency-monitor-threshold
        0
list-max-ziplist-entries
        512
list-max-ziplist-value
        64
logfile

loglevel
        notice
lua-time-limit
        5000
no-appendfsync-on-rewrite
        no
notify-keyspace-events

pidfile
        /var/run/redis.pid
port
        6379
rdbchecksum
        yes
rdbcompression
        yes
repl-disable-tcp-nodelay
        no
repl-diskless-sync
        no
repl-diskless-sync-delay
        5
save
        900, 1
        300, 10
        60, 10000
set-max-intset-entries
        512
slave-priority
        100
slave-read-only
        yes
slave-serve-stale-data
        yes
slowlog-log-slower-than
        10000
slowlog-max-len
        128
stop-writes-on-bgsave-error
        yes
tcp-backlog
        511
tcp-keepalive
        0
timeout
        0
zset-max-ziplist-entries
        128
zset-max-ziplist-value
        64
[7696] 12 May 14:24:45.265 # Warning: 32 bit instance detected but no memory lim
it set. Setting 3 GB maxmemory limit with 'noeviction' policy now.
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 2.8.19 (00000000/0) 32 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in stand alone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 7696
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

[7696] 12 May 14:24:45.283 # Server started, Redis version 2.8.19
[7696] 12 May 14:24:45.283 * The server is now ready to accept connections on po
rt 6379
[7696] 12 May 14:39:46.081 * 1 changes in 900 seconds. Saving...
arguments seen:
logfile
        stdout
qfork
        140, 7696
[7696] 12 May 14:39:46.246 # fork operation complete
[7696] 12 May 14:39:46.256 * Background saving terminated with success
View Code

  Server 端好了,現在我們開一個 Client 端來測試一下,新打開 CMD (之前打開的 CMD - Server 端不能關閉)

 

redis-cli.exe -h 10.7.15.172 -p 6379

   其中 10.7.15.172 為本機 IP

set hello helloworld

  設置一個值

get hello

  讀取這個值

  大概15分鍾之后我們發現 Server 端也有變化

  原來15分鍾自動把內存中的數據寫入 RDF 文件以防丟失。

  至於為什么是15分鍾,我們可以看到配置文件是這樣設置的(1個更改/900秒,10更改/300秒,10000更改/60秒),即更改的越多,數據寫入文件的時間間隔越短,這樣設計蠻合理的。

 

三、Redis Desktop Manager

   雖然通過上面的 CMD 我們也能看到 Redis 在內存中的數據,但方式太不友好了,這里介紹一個工具 Redis Desktop Manager

  下載完成后安裝,之后連接至 Server 即可

 

   點擊查看數據

 

四、Install Redis as Windows Service

   前面我們通過 CMD 方式安裝了Redis, 但是非常不方便,因為我們要一直保持窗口打開,而且如果機器重啟的話也需要重新打開。Redis 也可以以 Windows Service 的方式進行部署。在部署之前我們需要把配置文件找到

  然后拷貝到 Redis 目錄

  安裝服務

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

  安裝成功提示

  查看服務

  啟動服務

redis-server --service-start

  停止服務

redis-server --service-stop

  卸載服務

redis-server --service-uninstall

 

  其實安裝成 Windows 服務還有一種方式,就是從 Github 上直接下載安裝文件,但是好像不是最新的版本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM