Docker 安装 Redis
友情提示
推荐您使用 Chrome 浏览器来阅读本实战专栏,其他浏览器可能存在兼容性问题。
在本项目后续的业务功能开发中,会频繁使用到分布式缓存 Redis,那么,本小节中,小哈就将演示如何通过 Docker 快速的将本地的 Redis 环境搭建好。
什么是 Redis ?
Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统。它可以用作数据库、缓存和消息中间件。Redis 提供了多种数据结构,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)及有序集合(Sorted Sets)等。此外,Redis 还支持持久化操作,可以将数据保存在磁盘上,并在重启时加载到内存中。
创建持久化文件夹
在拉取 Redis 镜像之前,我们先创建对应文件夹,用于挂载 Redis 数据与配置文件。这里我新建在了 E:\docker\redis
文件夹下,并创建了:
/config
: 放置 Redis 配置文件;/data
: 放置 Redis 持久化数据;
下载镜像
接着,执行如下命令,下载 Redis 7.2.3 版本的镜像:
docker pull redis:7.2.3
镜像下载完成后,可通过 docker images
查看本地已下载的镜像,确认一下镜像是否真的下载成功了:
Redis 配置文件
然后,开始准备 Redis 对应的配置文件。可访问官网地址:https://redis.io/docs/management/config/ ,如下图所示,点击查看 7.2
版本的配置文件内容:
在 E:\docker\redis\conf
目录下,创建名为 redis.conf
的配置文件,并将跳转网页中展示的所有配置项,复制到 redis.conf
文件中。
修改 Redis 配置文件
复制完成后,还需要修改 2 项配置项。由于配置文件内容较多,小伙伴们可通过编辑器的全局搜索找到对应位置,首先是将 bind
配置项注释掉:
为什么要注释掉?
默认情况下,Redis 只监听来自本地的连接。通过注释掉
bind 127.0.0.1 -::1
,Redis 将会监听所有网络接口上的连接,这意味着外部网络上的设备也可以连接到 Redis 服务器。这会使 Redis 变得可从外部访问,而不仅仅是从本地。
接着是连接密码,全局搜索关键词 requirepass
, 将该配置项注释放开,并填写连接密码,小哈这里填写的是 qwe123!@#
:
启动 Redis 容器
配置文件弄好后,执行以下命令,启动一个 7.2.3
版本的 Redis 容器:
docker run -p 6379:6379 --name redis2 -v E:\docker\redis\conf\redis.conf:/etc/redis/redis.conf -v E:\docker\redis\data:/data -d redis:7.2.3 redis-server /etc/redis/redis.conf --appendonly yes
解释一下各项参数的含义:
-p 6379:6379
:将宿主机的 6379 端口映射到容器的 6379 端口。Redis 默认在 6379 端口上运行,这使得宿主机上的应用可以通过localhost:6379
访问容器中的 Redis 实例。--name redis2
:给容器指定一个名称redis2
。这样可以通过这个名称来管理容器(例如启动、停止、查看日志等)。-v E:\docker\redis\conf\redis.conf:/etc/redis/redis.conf
:
- 将宿主机的
E:\docker\redis\conf\redis.conf
文件挂载到容器的/etc/redis/redis.conf
路径。这使得 Redis 容器使用宿主机上的配置文件。-v E:\docker\redis\data:/data
:
- 将宿主机的
E:\docker\redis\data
目录挂载到容器的/data
目录。这样 Redis 的数据持久化文件(如 AOF 文件和 RDB 文件)会保存在宿主机上,即使容器被删除,数据也不会丢失。-d
:以守护进程(后台)模式运行容器。这意味着容器启动后会在后台运行,不会阻塞当前终端。redis:7.2.3
:使用标签为7.2.3
的 Redis 镜像。Docker 会从 Docker Hub 上拉取这个 Redis 镜像(如果本地没有的话)。redis-server /etc/redis/redis.conf --appendonly yes
:
- 这是容器启动后执行的命令。它启动 Redis 服务器,并指定使用
/etc/redis/redis.conf
作为配置文件,同时启用 AOF(Append-Only File)持久化模式。redis-server /etc/redis/redis.conf
:指定使用/etc/redis/redis.conf
配置文件启动 Redis 服务器。--appendonly yes
:启用 AOF 持久化模式,这将确保 Redis 服务器将每个写操作追加到持久化文件中,以提高数据的可靠性。
容器启动完毕后,执行如下命令,来查看正在运行中的 Docker 容器,确认一下 Redis 容器是否成功跑起来了:
docker ps
安装 Redis 图形客户端
Redis 容器运行起来后,我们还需要一个图像化操作客户端,以便捷的操作 Redis 。这里推荐 Another Redis Desktop Manager , 安装包下载地址:https://github.com/qishibo/AnotherRedisDesktopManager/releases ,如下图所示,点击下载对应系统的安装包:
安装成功后,运行客户端,点击右上角新建连接按钮:
填写本地 Redis 的连接地址、端口、密码,以及连接名称,点击确定:
连接新建完成后,点击左侧栏上方的控制台图标,可以打开控制台,在最下方填写相关命令,如 set key value
, 提示 OK , 说明操作成功了,即可在左侧列表中看到新添加的 key
, 添加对应的 key
即可查看 value
值 :