在windows中安裝使用redis的幾種方法
背景:在學習redis的時候,剛開始直接用遠端伺服器安裝redis,然後開放防火牆埠來讓外部連線,為了方便沒有設密碼,也沒有及時關閉埠,結果很快就被注入攻擊用來挖礦了。redis配置檔案中的註釋也有說:因為redis執行非常快,外部攻擊每秒可以嘗試150k次密碼,所以即使設密碼也要使用很複雜的密碼,否則很容易被破解。最後我還是選擇一種合適的方式在windows下執行redis。
redis主要是執行在linux下的,官網沒有提供windows版本,可以通過以下幾種方法在windows系統下使用redis,部分方法只適用於win10。
1.下載windows專用版
github上有windows專用版
下載連結:https://github.com/dmajkic/redis/downloads
基本步驟:
- 下載軟體,解壓
- 根據系統進入32bit或64bit目錄
- 雙擊開啟redis-server.exe,執行redis服務
- 雙擊開啟redis-cli.exe,執行命令視窗開始使用
這種直接執行的方式只能使用預設配置,配置檔案在當前目錄下:redis.conf,想要執行多個server的話,複製一份配置檔案,修改埠,用cmd在當前視窗開啟,redis-server.exe redis2.conf
優點:操作簡單,下載解壓就能用了
缺點:版本落後,可能導致學習時部分功能無法使用
2.安裝wsl(windows subsystem for linux)--適用於win10
基本步驟:
-
開啟windows系統中的wsl功能。可以通過面板開啟或管理員模式下的powershell輸入
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
,然後重啟。 -
安裝ubuntu。在微軟應用商店中搜索ubuntu,就可以下載安裝對應的系統。目前免費的還有其它系統如debian等,centos只有收費版,本文以ubuntu為例。
-
apt源改為國內的,不然網速太慢。
sudo vim /etc/apt/sources.list
替換為以下內容
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
-
更新軟體源列表
sudo apt-get update
-
安裝redis-server
sudo apt install redis-server
配置檔案位置:
/etc/redis/redis.conf
後面就跟在linux中一樣了,也可以開啟ssh,22埠,使用xshell來連線,假裝自己有一臺伺服器。。。
配置檔案路徑:
/etc/ssh/sshd_config
修改3項:
Port 22
PermitRootLogin yes
PasswordAuthentication yes
優點:可以使用新版軟體,基本類似linux下的體驗。
缺點:跟其它的虛擬機器平臺衝突,跟大部分安卓模擬器衝突
3.安裝虛擬機器
跟上面一種差不多,不展開了。
優點:相容性更好,比wsl穩定
缺點:安裝較麻煩,使用也不夠方便,不是重度使用者常駐後臺的話每次使用還要開啟軟體,再開啟系統。
4.docker
當前是使用window下的docker,基本步驟:
-
安裝docker
- 先開啟hyper-v
- 下載docker 安裝
-
獲取docker image
docker pull redis:latest
檢視是否開啟
docker images
-
建立並執行redis容器
docker run -itd --name myredis -p 6379:6379 redis
檢視:docker container ls -all
引數:
- i:以互動模式執行容器,通常跟t一起使用
- t:為容器重新分配一個偽輸入終端,通常與i一起使用
- d:後臺執行容器
- p:指定埠對映,格式為:
本機埠:容器埠
,這樣,外部就可以用本機IP:本機埠的方式訪問到redis - name:容器名稱
- redis:映象名稱,獲取映象時用redis:latest,執行容器時用redis也可以,畢竟預設就是latest
-
在redis容器執行
docker exec -it myredis /bin/bash
在開啟的bash中測試
redis-cli
這種方式對於經常使用docker的使用者來說應該是比較方便的,自己也剛接觸docker就不多評論了。
總結:
個人感覺wsl的方式比較方便且接近日常使用linux的體驗,目前也是用這種方法,也許以後對docker更熟悉了會改用docker,到時候再更新。