只有累積,沒有奇蹟

2019年2月14日 星期四

[Redis] 在 Windows 下載與安裝 Redis

前言 
最近因專案需求要在公司內部架設 Redis 作為 cache server 使用,Redis 是一個將資料存放在 memory 的database,以 key/value 方式存放相關資料,詳細介紹可以參考官網介紹這裡不在多做說明,這篇簡單分享初期在安裝 Redis 在 Windows 上的步驟與過程,如有謬誤歡迎高手給予指導。 

安裝 Redis for Windows
Redis 主要是運行在 Linux 環境,因此在官網下載區是找不到 Windows 版安裝程式,需要到 MicrosoftArchive/redis 提供的 github 頁面中點擊 release page 連結才有 Windows for Redis 安裝檔

開啟 release page 後可以看到安裝的 Redis 版本為 3.2 版,安裝檔案有分 .msi 與 .zip 壓縮檔兩種,使用前者是安裝完會在 Windows 註冊 Redis  服務 (同捆包的概念)
使用 .zip 檔案則可以手動選擇要安裝的項目,打開 zip 檔案可以看到同捆包安裝的內容,舉例來說,如果今天只想要安裝或使用 redis-cli 工具的話,就可以下載 zip 檔案單獨執行 redis-cli.exe
下載 .msi 檔案後點擊如下
選擇下一步,在新增環境變數記得要打勾
可以設定 Redis 預設的 port number,預設為 6379
Redis 是將資訊存放在 memory 中很容易就把記憶體吃光光,可以設定使用 memory 的上限值
接著瘋狂按下一步,就可以完成 Redis 安裝步驟。
前面有提到透過 .msi 檔安裝會一併建立 Redis 服務,開啟服務列表可以看到已建立Redis服務狀態為啟用 

測試 Redis 
在安裝 Redis 過程中有一併安裝 Redis command tool - Redis cli,相關指令可以參考 Redis commands,首先我們先透過指令確認 redis-cli info 看 command 工具版本號
redis-cli info
# Server
redis_version:3.2.100
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:dd26f1f93c5130ee
redis_mode:standalone
os:Windows
arch_bits:64
multiplexing_api:WinSock_IOCP
process_id:28864
run_id:cb97cab85cd704b8ac6875d4256caa6aa2d1412f
tcp_port:6379
uptime_in_seconds:13782
uptime_in_days:0
hz:10
lru_clock:6573277
executable:C:\Program Files\Redis\"C:\Program Files\Redis\redis-server.exe"
config_file:C:\Program Files\Redis\redis.windows-service.conf

//Memory...
接著可以透過 Redis cli 來測試服務是否正常,ping server 是否有回應,如果正常沒問題會回傳 PONG
redis-cli ping
// PONG
Test String : get / set
來使用 redis-cli 做簡單的測試,在 redis 有提供五種不同的 data type 型別,使用 redis-cli 來測試簡單的 string 型別 get / set 執行限制,舉例來說用 set command 寫入變數 Test 為 Hello world,在使用 get 取出剛剛設定的值是否有存取成功
C:\>redis-cli set Test "hello world"
OK

C:\>redis-cli get Test
"hello world"
設定與取得值都正確無誤,安裝成功 !!

心得
透過以上步驟可以得知安裝流程蠻單純的,但是仔細看 Redis for windows 目前版本僅支援到 3.2.1 版,目前官網提供穩定版本為 5.0 兩者差異頗大,且在 Windows 版本也沒再繼續更新,因此如果要使用新的功能或是新的資料型態應該無法使用,下一篇會介紹如何使用透過 Docker 建立 Redis,步驟上也不難有興趣的可以參考看看。

參考
Redis - 在 Windows 上建立高可用性的 Redis

2 則留言:

Copyright © m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com