1 引言
redis官方没有提供windows下的安装包,大家所看到的windows安装包是微软官方维护的版本。
为什么微软官方没有提供windows版本的安装包呢:我个人推测是这样:因为redis 是单线程高性能的。所以redis需要单线程轮询。操作系统机制的轮询是不太一样的。简而言之 linxu轮询用epoll,window 用selector 但是性能上来说 epoll是高于selector 的。 所以redis推荐使用linux版本。
在实际的开发过程中会遇到在windows中使用redis服务的情况,所以本篇文章从windows部署的角度讲解redis
2 环境
- windows操作系统:
3 安装
redis官网没有提供windows安装包,可以在github下载,如果实际项目使用请使用稳定版本。
github由于网络管制原因可能
如下是网盘链接:
链接:https://pan.baidu.com/s/1zax2weaUUVoML9gd_ATaxw
提取码:qjae
下载之后将压缩文件拷贝到本地文件中,个人建议新建一个目录名字为Envs,里面保存所有环境。
解压缩之后,使用CMD进入当前文件夹中,输入redis-server.exe,redis服务启动成功
E:\Envs\Redis-x64-5.0.14>redis-server.exe
[7212] 08 Dec 11:54:41.453 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[7212] 08 Dec 11:54:41.468 # Redis version=5.0.14, bits=64, commit=a7c01ef4, modified=0, pid=7212, just started
[7212] 08 Dec 11:54:41.468 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server.exe /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.14 (a7c01ef4/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 7212
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
[7212] 08 Dec 11:54:41.468 # Server initialized
[7212] 08 Dec 11:54:41.468 * Ready to accept connections
这个CMD窗口会被阻塞,重新打开一个CMD窗口,cd到redis目录:测试链接
E:\Envs\Redis-x64-5.0.14>redis-cli.exe
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> exit
E:\Envs\Redis-x64-5.0.14>redis-cli.exe
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
功能一切正常
部署成服务
上面这种CMD窗口一旦关闭,redis服务就会停止
将redis注册成服务,交给操作系统后台运行。
安装成服务命令:
E:\Envs\Redis-x64-5.0.14>redis-server.exe --service-install redis.windows.conf
[3068] 08 Dec 12:00:47.092 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "E:\Envs\Redis-x64-5.0.14" "E:\Envs\Redis-x64-5.0.14\"
[3068] 08 Dec 12:00:47.106 # Redis successfully installed as a service.
卸载服务
E:\Envs\Redis-x64-5.0.14>redis-server --service-uninstall
[5780] 08 Dec 12:00:17.075 # Redis service successfully uninstalled.
其他命令
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
重命名服务:redis-server --service-name name
使用三个端口配置三个不同的redis服务
redis-server --service-install --service-name redisService1 --port 10001
redis-server --service-start --service-name redisService1
redis-server --service-install --service-name redisService2 --port 10002
redis-server --service-start --service-name redisService2
redis-server --service-install --service-name redisService3 --port 10003
redis-server --service-start --service-name redisService3
4 客户端命令
简单客户端
redis-cli.exe
指定参数客户端
redis-cli.exe -h 127.0.0.1 -p 6379 -a requirepass
(-h 服务器地址 -p 指定端口号 -a 连接数据库的密码[可以在redis.windows.conf中配置],默认无密码)
注意:如果没有配置环境变量,那么必须要先CD到redis文件夹内才可以,否则系统会提示知不道指定命令
E:\Envs>redis-server.exe
'redis-server.exe' is not recognized as an internal or external command,
operable program or batch file.
# 必须cd到redis目录下
E:\Envs>cd Redis-x64-5.0.14
E:\Envs\Redis-x64-5.0.14>