侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 292 篇文章
  • 累计创建 132 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Windows下Redis单机版安装与配置图文教程

孔子说JAVA
2022-08-29 / 0 评论 / 0 点赞 / 68 阅读 / 6,183 字 / 正在检测是否收录...

Redis作为常用开源的非关系型数据库,是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,在开发中常作为缓存数据库来使用,提供了两种机制支持数据持久化存储。Redis底层是使用ANSI C编写的,支持网络可基于内存和可持久化的日志型、Key-Value数据库,提供了多种语言API。比较遗憾的是,Redis项目不直接支持Windows,Windows版项目是由微软开放技术团队建立和维护的一个实验性项目(支持32,64位),所以并不适用生产环境,但可在Windows环境下用于开发测试(基于内存是Redis快的一个重要因素)。

1、下载与安装Redis

1.1 下载

在github上可以下载Windows Redis软件,有安装包形式和zip两种,下载地址:https://github.com/tporadowski/redis/releases,我们这里下载redis的最新版本为v5.0.14.1

image-1661736497287

1.2 解压

先新建一个文件夹用于存放Redis压缩包解压后的文件,新建一个文件夹为:redis,然后将下载好的zip包解压到新建的redis文件夹中。

image-1661737252305

1.3 重要文件介绍

  • redis配置文件为:redis.windows.conf、redis.windows-service.conf,redis绑定地址以及默认端口等配置都可以在这两个文件中找到。Windows版的Redis安装时,默认启动加载的配置文件是redis.windows-service.conf
  • redis 服务:redis-server.exe,用于启动redis服务。
  • redis命令行工具redis-cli,可以启动redis命令行,执行redis命令。

2、环境变量配置与验证

2.1 配置环境变量

通过配置环境变量的方式,让我们可以在命令行任意目录下操作redis,而不用每次都定位到redis目录下。
1)复制redis的解压路径,如我的路径为:D:\Program Files\redis\Redis-x64-5.0.14.1
2)点击【此电脑】-【属性】,找到【高级系统设置】,点击【环境变量】
3)找到【path】环境变量,新建一个环境变量值为redis的解压路径(本例中为:D:\Program Files\redis\Redis-x64-5.0.14.1)。
4)确定,保存退出,注意需要关闭打开环境变量的所有窗口才生效。

image-1661737811310

2.2 验证

安装好环境变量以后,打开cmd窗口,输入以下命令验证,若输出redis版本号表示redis的安装和配置正常:

redis-cli -v

image-1661737983971

3、redis的连接与测试

3.1 启动Redis服务

在cmd窗口输入启动redis服务命令:

redis-server

image-1661738112912

如出现上图所示的信息,表示redis已经初始化成功并准备好了连接,就是启动成功了。该启动方式启动成功后不能关闭cmd窗口,如果关了,则redis服务也就关掉了。

还可以通过指定配置文件的方式启动:

redis-server.exe redis.windows.conf

3.2 连接Redis

在上述redis服务启动成功且没有关闭cmd的情况下,启动一个新的cmd窗口。输入redis连接命令:

redis-cli

image-1661738357488

出现上图表示连接成功了!

连接redis的完整命令:

redis-cli –h IP地址 –p 端口 -a 密码	//默认IP本机 端口6379 密码在配置文件中自定义

3.3 Redis存取测试

设置一个key测试一下,key为id,value为1,set 命令如下:

set id 1

如果出现OK的字样表示设置成功,此时可以用 get 命令获取值:

get id

image-1661738577621

从上图可以看到,key为id的值可以正常设置并获取到。

  • 注意如果此时直接关闭启动redis服务的那个cmd窗口,数据是不会持久化到硬盘的(此时保存在内存),再开启redis服务的时候获取不到之前保存的id值。可以通过在redis-server中按下 【ctrl+c】 正常退出redis,redis就会将内存中的数据持久化到硬盘上,下次再连接的时候可以获取到上一次设置的id值)

image-1661739011114

4、redis配置详解

更改redis的配置需要修改 redis.windows.conf 或 redis.windows-service.conf 文件,以下是它一些主要的配置注释:

#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#当Redis以守护进程方式运行时,Redis默认会把pid写入redis.pid文件,可以通过pidfile指定
pidfile 'E:/xxx/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 'D:/XXX/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访问IP绑定(bind)无效

Redis默认绑定的ip为127.0.0.1,如果设置了bind,只能通过绑定的地址访问Redis。如果想内网的机器都能访问,则需要设置内网的ip地址,如192.168.100.66,然后redis.host则可以设置为192.168.100.66访问Redis。

如果不设置bind,则所有地址都可以访问,如果在项目部署外网,所有人都可以访问到,所以这里也是个注意的地址,还是设置bind比较安全。

绑定多个ip地址:bind 127.0.0.1 192.168.100.66 , 127.0.0.1和192.168.100.66之间通过空格分隔,不是逗号。但如果Redis是自启动的,没有加载配置文件(redis.windows.conf)启动,这里的设置也是无效的。

5、redis服务和命令

5.1 安装redis服务

1)安装redis服务

将redis设置为windows服务,可以避免每次启动redis的操作,需要的时候直接使用即可。首先定位到redis安装目录,然后执行安装redis服务的命令 redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis

  • –service-name 后面的 Redis 为 windows 服务名。
# 定位到redis安装目录
D:\>CD D:\Program Files\redis\Redis-x64-5.0.14.1
# 执行redis服务安装命令
D:\Program Files\redis\Redis-x64-5.0.14.1>redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis

image-1661741212041

执行完上述命令后查看windows服务列表,可以看到已经存在redis服务了,可以在该服务上右键选择启动服务(也可以双击打开服务设置窗口启动)。

image-1661741235580

2)启动redis服务

方式一: 在windows服务列表中,找到redis服务,在该服务上右键选择启动服务,也可以双击打开服务设置窗口后点击启动按钮。
方式二: 在dos窗口通过命令 redis-server --service-start 启动redis服务。

image-1661741619011

3)测试redis

在启动widows中的redis服务后,打开dos窗口,测试redis命令。

image-1661741418009

5.2 卸载redis服务

通过 redis-server --service-uninstall 命令可以卸载redis服务。执行完卸载命令后刷新windows服务列表,可以看到刚才安装好的redis服务已经消失。

image-1661741706712

5.3 设置redis密码

打开redis的配置文件 redis.windows-service.conf ,找到 requirepass 项,此处设置redis密码,如:requirepass 111111

image-1661741821498

按照配置文件设置redis服务。

redis-server --service-install redis.windows-service.conf --loglevel notice --service-name Redis

此时我们再次通过 redis-cli 命令连接redis服务,通过 get id 命令获取值时,提示 (error) NOAUTH Authentication required. 错误,这时需要通过auth命令验证密码,如 auth 111111,auth后面跟的字符串就是密码。

image-1661742227794

5.4 redis命令

加入服务,开机自启动(不指定服务名称,默认为Redis)

redis-server.exe --service-install redis.windows.conf

启动

redis-server.exe --service-start

停止

redis-server.exe --service-stop

卸载

redis-server.exe --service-uninstall

安装多个实例

redis-server.exe --service-install –service-name redisService1 –port 10001
redis-server.exe --service-start –service-name redisService1
redis-server.exe --service-install –service-name redisService2 –port 10002
redis-server.exe --service-start –service-name redisService2
redis-server.exe --service-install –service-name redisService3 –port 10003
redis-server.exe --service-start –service-name redisService3 

注意:如果报错如下,则需指明redis.windows.conf的完整路径,如报错信息: Invalid argument during startup: Failed to open the .conf file: redis-windows.co nf CWD=E:\Program Files\redis\Redis-x64-3.2.100-6379-nocluster

解决方案:E:\Program Files\redis\Redis-x64-3.2.100-6379-nocluster>redis-server.exe --service-install “e:\Program Files\redis\Redis-x64-3.2.100-6379-nocluster\redis.windows.conf” --service-name redis6379nocluster

安装redis的windows服务(自定义服务名称)

redis-server –service-install redis-windows.conf –service-name redisserver1

启动服务(自定义服务名称),或在windows服务界面启动。

redis-server -service-start -service-name redisserver1

客户端链接

redis-cli -h 127.0.0.1 -p 6379 -a 111111

退出客户端连接:exit命令。

image-1661742783072

关闭服务

redis-server -service-stop  --service-name redisserver1

卸载服务

redis-server -service-uninstall --service-name redisserver1
# 或
sc delete redisserver1
0

评论区