在 Win10 上安装 Redis 4.0 的两种姿势

Redis 是完全开源免费,遵守 BSD 协议的一个高性能的 key-value 数据库。


Redis 官方没有 Windows 的编译版本,虽然 微软 有开发过,但是该项目已经废弃了,版本也永远停留在了 3.2,对于我这种执着于最新版本的人来说就很难受了。

在网上寻找解决办法时,无意间发现了一个非官方维护的 Windows 编译版本,跟进到了版本 4.0.2,对我来说还是可以接受的。

除了下载 msi 进行安装,我还发现了另一个可以应用最新版本的方法。在 Windows 上安装 WSL (Windows Subsystem for Linux),然后在 Linux 上安装 Redis,就算关闭 bash 窗口,Redis 依旧能在后台运行,并且能够通过 Redis Desktop Manager 对数据库进行访问。

这两种方法最简单的就是直接下载 msi 安装,对于想搞事情的人来说可以尝试第二种方法。


1. 使用 msi 安装 Redis

首先,在 这里 下载最新的 msi 文件,安装的时候把“添加至 PATH 环境变量”选上。
这里写图片描述
然后需要设置运行 Redis 的端口,默认是 6379。
这里写图片描述
然后一直下一步,最后安装就行。安装完成后可以在任务管理器的服务里面看到 Redis 服务已经启用。
这里写图片描述
Redis 在 Windows 下的配置文件是安装文件夹下的 redis.windows-service.conf,Windows 启动服务时会调用这个配置文件,如果从命令提示符中使用 redis-server 命令的话需要指定配置文件的路径。

让我们打开命令提示符来检查一下是否安装成功。
在命令提示符中输入 redis-cli 启动 Redis 客户端,然后输入 ping,可以看到返回 PONG,这个设置还是挺有趣的。
这里写图片描述
我们可以使用 set 往数据库里添加一些数据。输入 set 后终端中会自动跳出需要输入的格式。
这里写图片描述
我们输入:

set foo bar

就在数据库中添加了键为 “foo”,值为 “bar” 的数据,然后使用 get 可以通过键访问值。
这里写图片描述
使用 msi 文件安装 Redis 到这边就结束了,步骤十分简单,剩下的就是一些对 Redis 进行配置上的问题了,不在本文的范畴。


2. 在 WSL 上安装 Redis

接下来这个方法稍微有点复杂,但是可以自行选择想要的任何版本,包括 Redis 5.0 RC。

2.1 准备工作

要用这个方法首先需要在计算机上安装 Windows Subsystem for Linux,可以参考我写的另一篇 文章

有了 WSL,就可以开始了。首先需要在 Linux 中安装编译器 gcc:

sudo apt-get install gcc

2.2 安装 Redis

然后在 这里 选择一个想要的版本,在 Linux 中输入下列命令(我选择的是 4.0.11 版):

wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar xzf redis-4.0.11.tar.gz
cd redis-4.0.11
make

make 之后在终端中会提示你可以运行 make test 进行测试,如果要进行测试,需要用 sudo apt-get install tcl 命令安装 tcl 才能进行测试。

我运行过 make test ,但是测试不通过,错误提示是关闭某个进程时没有该进程,所以中断了测试,但是似乎并不影响后面的工作。

make 之后继续:

sudo make install

这里写图片描述
然后安装服务:

cd utils
sudo ./install_server.sh

安装时会让你选择端口、配置文件名、日志文件名和数据目录等,都可以使用默认,一路 Enter 就行了。
这里写图片描述

2.3 运行服务

安装完成后就可以运行 Redis 服务(独立模式)了。

redis-server

这里显示了一些警告,我还没有对此进行深究。
这里写图片描述
重新打开一个终端,使用 redis-cli 命令就可以进行测试是否安装成功。按 Ctrl + C 可以退出服务。

Redis 还可以以非独立模式启动、停止和重启:

sudo service redis_6379 start
sudo service redis_6379 stop
sudo service redis_6379 restart

在测试这些命令的时候有一些小插曲,使用 start 后,终端中提示服务启动,查看日志文件也显示正常启动,但是用 ps aux | grep redis 查不到启动的服务,/var/run/ 路径下也没有应该出现的 redis_6379.pid 文件,所以 stop 命令会提示 pid 不存在,进程没有运行,但是使用 redis-cli 命令依旧可以连接上服务器,且可以操作,其中因果暂时不得而知。
这里写图片描述
最后,使用以下命令将 Redis init 脚本添加到所有默认运行级别:

sudo update-rc.d redis_6379 defaults

至此,在 Linux 上安装 Redis 就结束了。在 Windows 17046 版本之后,WSL 开始支持后台任务,也就是说你在 Linux 终端上运行服务之后,就算关闭所有 Linux 窗口,服务也不会结束。如果你有 Redis GUI,可以在窗口全部关闭后尝试使用 GUI 连接 Redis 服务。

2.4 设置自启动

WSL 暂时还不支持 Linux 的启动任务,如果我们重启了 Windows,Redis 服务依旧会被关闭,要重新开启 WSL 并输入命令才能启动 Redis,这跟第一个方法中自动启动服务自然就差了一些。

当然也是有解决办法的,就是在启动时自动运行一个脚本就行。

按下 Win + R 打开 运行,输入 shell:startup,可以打开启动文件夹,在里面新建一个 autostart.vbs 脚本,脚本内容为:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run "C:\Windows\System32\bash.exe -c redis-server",0
Set WshShell = Nothing

如果要启动多个服务,可以参考 这个回答。我这里把事情简化了,没有再多用一个 sh 文件。

重启计算机之后不打开 WSL,直接打开 Redis Desktop Manager 连接数据库,可以看到连接成功。在任务管理器的 详细信息 里也可以看见 redis-server 这个服务,右键 打开文件位置 后就可以看到文件的路径为 C:\Users\lan\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\bin,前面部分就是我们安装在 Windows 上的 WSL 的路径。
这里写图片描述
这样就相当于把 Linux 服务配置成了 Windows 服务,如果不想要自启动,就删除在启动文件夹里的脚本就行。


3. Redis GUI

Redis 可用的 GUI 没有 MongoDB 可选的多,最常用的可能就是 Redis Desktop Manager,但是官网上的 Redis Desktop Manager 的 Windows 版本需要订阅才能用,连下载都不让,Linux 版本倒是随便获取,我也尝试在 WSL 中安装 Linux 版本的 RedisDM,但是有一步需要访问谷歌脚本,Windows 上的梯子对 Linux 不起作用,所以我就放弃了。

在其他网站找到了稍旧版本的 RedisDM,缺点是每次启动都会提示你升级,其他的都没什么。
这是网址:https://www.softpedia.com/get/Internet/Servers/Database-Utils/Redis-Desktop-Manager.shtml
在这个网站还可以找到 RedisDM 的各种替代软件:https://alternativeto.net/

  • Keylord:要钱,免费试用 14 天。
  • RDBTools:致力于减少内存占用、提升性能,免费版可以建立一个 Redis 实例,使用 512 MB 内存。
  • FastoRedis:对开源项目和学生是永久免费的,不过要发邮件申请。
  • FastoNoSQL:FastoRedis 的大哥,可以用于不仅限于 Redis 的数据库。
  • Redsmin:可以管理云服务,Windows 下需要 Docker 或 NodeJS。
  • Redis-Commander:node.js 编写的一个 web 应用管理工具。
  • Redis React:个人维护的项目,跨平台。
  • Redis-browser:也是个人维护的跨平台项目。

参考:
https://medium.com/@Renyxz/how-to-install-redis-4-0-9-on-windows-10-details-d130ef4aaa08
https://medium.com/@furkanpur/installation-redis-on-windows-10-13fbb055be7c
https://blogs.msdn.microsoft.com/commandline/2017/12/04/background-task-support-in-wsl/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值