windows10配置Redis5.0.9远程连接

内容说明

在同一个局域网内部,或者虚拟机与主机之间,要让其他的主机或虚拟主机访问本地的redis服务,这就需要对redis进行额外的配置

这里Redis5.0为例,请确保已经安装了Redis-x64-5.0.9(安装过程参考 Windows10安装Redis5.0.9总结 ),然后再着手以下配置

1.安装redis服务器相关服务

以下配置中,使用的版本为Redis-x64-5.0.9

#安装redis服务,有的是使用如下命令,但这里注释掉不使用,按照后面的来配置
#redis-server.exe --service-install redis.windows.conf --loglevel verbose

#使用以下命令把redis服务发布到计算机服务列表
#使用该命令不成功:
#redis-server --service-install redis.windows-service.conf --loglevel verbose
#那么最好直接使用绝对路径:
redis-server --service-install "D:\JavaLibraries\Redis-x64-5.0.9\redis.windows-service.conf" --loglevel verbose

#启动redis服务,可以在服务列表中看到一个redis
redis-server --service-start
#服务列表上右键查看,redis服务使用的配置文件信息如下
#"D:\JavaLibraries\Redis-x64-5.0.9\redis-server.exe" --service-run D:\JavaLibraries\Redis-x64-5.0.9\redis.windows-service.conf --loglevel verbose
#提示如下信息,表示成功
#[12272] 21 Dec 09:12:49.376 # Redis service successfully started.

2.修改redis默认配置文件

进入redis根目录,找到文件redis.windows-service.conf,做如下修改

#在配置文件中:redis.windows-service.conf
#进行如下修改
#绑定连接指定的ip
#注释redis默认端口,修改为本地主机ip地址,如果需要绑定多个IP,必须要以空格分隔;如果使用多行bind,会导致覆盖
#本机的ip:192.168.43.111
#bind 127.0.0.1
bind 127.0.0.1 192.168.43.111
#取消保护模式,允许连接
#protected-mode yes
protected-mode no

#绑定任意端口
#bind 0.0.0.0

3.启动redis服务

#开启redis服务
redis-server --service-start

#停止redis服务
redis-server --service-stop

#如需要卸载redis服务,使用:
redis-server --service-uninstall

#驱动redis服务后,接着redis客户端就可以使用
redis-cli.exe -h 127.0.0.1 -p 6379
##也可以默认使用
#redis-cli

执行如下:

C:\Users\Lenovo>redis-server --service-start
[11612] 19 Jan 16:14:34.321 # Redis service successfully started.

C:\Users\Lenovo>redis-cli
127.0.0.1:6379> set name xiaoli
OK
127.0.0.1:6379> get name
"xiaoli"
127.0.0.1:6379>

关于配置文件的使用

#windows10中根目录Redis-x64-5.0.9下的配置文件(redis.windows.conf)
#redis配置文件信息说明

#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#当Redis以守护进程方式运行时,Redis默认会把pid写入redis.pid文件,可以通过pidfile指定
pidfile 'E:/computer soft/redis/redis_pid/redis.pid'
#端口
port 6379
#绑定主机的ip地址
bind 127.0.0.1
#当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
#指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel notice
#日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile stdout
#设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16
#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
#指定本地数据库存放目录
dir 'E:/computer soft/redis/redis_database'
#设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
#slaveof 127.0.0.1 6379
#当master服务设置了密码保护时,slav服务连接master的密码
#masterauth 123456
#设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
#requirepass foobared
#设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
maxclients 10000
#指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区
maxmemory 300m
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#指定更新日志文件名,默认为appendonly.aof
appendfilename 'appendonly.aof'
#指定更新日志条件,共有3个可选值
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec

#配置结束

进一步了更详细配置内容可参考:redis.conf配置详细解析