💜 想真正擅长编程? 从一门课程开始,100% 免费

1-5、Redis安装与启动配置

Redis是内存数据库,用来做缓存。现在几乎所有Java后端项目都用Redis,不装的话项目大概率启动报错或者运行很慢。


一、版本说明

Windows上跑Redis有点坑,因为Redis官方不支持Windows。

方式 说明
Redis for Windows 微软维护的Windows版本,停在3.x,比较老
WSL2 + Linux Redis 在Windows里跑Linux子系统,用官方Redis,推荐
Docker + Redis 装Docker Desktop,用容器跑Redis,干净
Memurai Redis的Windows兼容版本,免费版够用

推荐方案: 入职如果公司没特殊要求,用Docker跑Redis最省心。如果你不想装Docker,用Redis for Windows的GitHub版本(社区维护,支持到7.x)。


二、方案1:Redis for Windows(GitHub版)

1. 下载

GitHub地址:https://github.com/tporadowski/redis/releases

下载Redis-x64-5.x.x.msi(安装版)或.zip(免安装版)。

推荐下载.zip版,解压即用,灵活。

2. 安装/解压

解压到一个无中文无空格的目录:

TEXT
D:\Java\Redis

目录结构:

TEXT
Redis/
  redis-server.exe    # 服务端
  redis-cli.exe       # 客户端
  redis.windows.conf  # Windows配置文件
  redis-benchmark.exe # 性能测试工具

3. 启动Redis

打开cmd,进入Redis目录:

Shell
cd D:\Java\Redis
redis-server.exe

看到类似输出就说明启动成功了:

TEXT
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 5.0.14 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 12345
  `-._    `-._  `-./  _.-'    _.-'
 ...

这个窗口不能关,关了Redis就停了。

4. 测试连接

新开一个cmd窗口:

Shell
cd D:\Java\Redis
redis-cli.exe

输入:

TEXT
127.0.0.1:6379> ping
PONG
TEXT
127.0.0.1:6379> set name "test"
OK
127.0.0.1:6379> get name
"test"

能存能取就说明Redis正常工作了。

5. 注册为Windows服务

每次开cmd启动太麻烦,注册为Windows服务自动启动:

Shell
# 注册服务
redis-server.exe --service-install redis.windows.conf

# 启动服务
redis-server.exe --service-start

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

# 卸载服务
redis-server.exe --service-uninstall

注册后在Windows服务列表就能看到Redis服务了,设为自动启动就行。


三、方案2:Docker跑Redis

前提:装好Docker Desktop

下载:https://www.docker.com/products/docker-desktop/

装好后启动Docker Desktop,等右下角图标变绿。

拉取Redis镜像

Shell
docker pull redis:7.2

运行Redis容器

Shell
docker run -d ^
  --name my-redis ^
  -p 6379:6379 ^
  -v D:/Java/redis-data:/data ^
  redis:7.2 ^
  redis-server --requirepass "Redis@123456" --appendonly yes

参数说明:

  • -d:后台运行
  • --name my-redis:容器名字
  • -p 6379:6379:端口映射
  • -v D:/Java/redis-data:/data:数据持久化到本地目录
  • --requirepass:设置密码
  • --appendonly yes:开启AOF持久化

验证

Shell
docker exec -it my-redis redis-cli
127.0.0.1:6379> ping
PONG

带密码连接:

Shell
docker exec -it my-redis redis-cli -a Redis@123456

四、方案3:WSL2安装Redis

1. 启用WSL2

以管理员身份打开PowerShell:

powershell
wsl --install

重启电脑,设置Linux用户名和密码。

2. 安装Redis

进入WSL终端:

Shell
sudo apt update
sudo apt install redis-server

3. 启动Redis

Shell
sudo service redis-server start

4. 验证

Shell
redis-cli
127.0.0.1:6379> ping
PONG

WSL2的Redis默认监听127.0.0.1:6379,Windows本机的应用可以直接连。


五、Redis配置(重要)

不管哪种安装方式,配置文件都需要改几个关键项。

Redis配置文件位置

  • Windows版:D:\Java\Redis\redis.windows.conf
  • Docker版:容器内/usr/local/etc/redis/redis.conf,或挂载外部配置文件
  • WSL版:/etc/redis/redis.conf

关键配置项

TEXT
# 绑定地址,改为允许远程访问
# 只允许本地:
bind 127.0.0.1
# 允许所有IP(开发环境用):
# bind 0.0.0.0

# 端口
port 6379

# 密码(生产环境必须设,开发环境看项目要求)
requirepass Redis@123456

# 最大内存(根据你电脑内存调整)
maxmemory 512mb

# 内存满了的淘汰策略
# allkeys-lru: 淘汰最久没用的key(推荐)
maxmemory-policy allkeys-lru

# 是否开启AOF持久化
appendonly yes

# 日志级别
loglevel notice

# 超时时间(秒),0表示不超时
timeout 0

# 数据库数量,默认16个库
databases 16

改完配置后重启Redis生效。


六、设置密码

方法1:配置文件设置

在配置文件里添加:

TEXT
requirepass 你的密码

重启Redis。

方法2:命令行动态设置

连接Redis后:

TEXT
# 没密码时直接执行
127.0.0.1:6379> CONFIG SET requirepass "Redis@123456"
OK

# 验证
127.0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) "Redis@123456"

注意:命令行设置的重启后失效,永久生效要写配置文件。

连接有密码的Redis

TEXT
# 命令行连接
redis-cli -a Redis@123456

# 或连接后认证
redis-cli
127.0.0.1:6379> AUTH Redis@123456
OK

七、图形化管理工具

命令行用着不方便,装个图形化工具。

推荐:Another Redis Desktop Manager

GitHub:https://github.com/qishibo/AnotherRedisDesktopManager

  • 免费开源
  • 界面好看,支持SSH隧道
  • 下载.exe直接装

RedisInsight(官方)

下载:https://redis.io/insight/

  • Redis官方出品
  • 功能强大,支持数据分析和监控
  • 免费使用

IDEA连接Redis

装插件:File → Settings → Plugins → 搜Redis

推荐插件:

  • Redis(插件名就叫这个):在IDEA里直接看Redis数据

连接配置:

  1. 打开IDEA的Redis面板
  2. 点 + 新建连接
  3. 填 Host: 127.0.0.1、Port: 6379、Password: 你的密码
  4. 测试连接 → OK

八、常见问题

问题1:Redis启动报错 Creating Server TCP listening socket

端口6379被占用了。

Shell
# 查看端口占用
netstat -ano | findstr 6379

# 杀掉占用进程
taskkill /PID 进程ID /F

或者改Redis端口:在配置文件里port 6380。

问题2:连上了但操作报 NOAUTH Authentication required

Redis设了密码但连接时没输密码。

Shell
# 连接时带密码
redis-cli -a 你的密码

# 或者连接后认证
127.0.0.1:6379> AUTH 你的密码

问题3:远程连不上Redis

排查步骤:

  1. 配置文件bind是否改为0.0.0.0
  2. 防火墙是否放行6379端口
  3. 密码是否正确
  4. protected-mode是否设为no(开发环境)
Shell
# 防火墙放行6379
netsh advfirewall firewall add rule name="Redis 6379" dir=in action=allow protocol=TCP localport=6379

问题4:Redis存了数据重启后丢了

没开持久化。

在配置文件里确认:

TEXT
appendonly yes

重启Redis,数据就会持久化到AOF文件。

问题5:项目连接Redis报 WRONGPASS

密码不对。

检查:

  • yml/properties配置文件里的Redis密码是否正确
  • 密码有没有多余的空格
  • Docker容器里的密码和外部连接的密码是否一致

九、SpringBoot项目连接Redis配置

项目里通常这样配置(提前了解,后面讲项目运行时详细说):

application.yml

YAML
spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password: Redis@123456
    database: 0  # 使用的数据库编号,0-15
    timeout: 3000ms
    lettuce:
      pool:
        max-active: 8
        max-idle: 8
        min-idle: 0
        max-wait: -1ms

application.properties

TEXT
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=Redis@123456
spring.redis.database=0
spring.redis.timeout=3000

小结

安装方式 推荐场景
Redis for Windows 最简单,开发够用
Docker 干净,推荐有Docker基础的人
WSL2 最接近生产环境,但配置稍复杂
关键配置 说明
bind 控制允许连接的IP
requirepass 密码,生产必设
appendonly 持久化,防止丢数据
maxmemory 限制内存,防止吃满

Redis装好了,下一步搞Git。