云网站:http://www.liupeng.cloud
语雀:https://www.yuque.com/liupeng_yuque
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
Linux:AlmaLinux(推荐)
阿里巴巴开源镜像站
Docker 环境
Docker Compose 环境
注意:Linux 系统需连接互联网,关闭防火墙或开放对应端口,云服务器配置安全组。
mkdir -p /home/docker/redis
vim /home/docker/redis/docker-compose.yml
主从复制模式
version: '3'
services:
master:
image: redis # 主节点镜像
container_name: redis-master # 生成容器的名称, 主节点
restart: always
command: redis-server /usr/local/etc/redis/redis.conf --requirepass password--appendonly yes # 生成容器后要执行的命令,默认使用 rdb 持久化,-- appendonly yes 使用 aof 持久化。
ports:
- "6379:6379"
volumes: # 主节点共享目录或文件
- ./data/6379/logs:/logs:rw
- ./data/6379/data:/data:rw
- ./data/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf:rw
slave1:
image: redis # 从节点镜像
container_name: redis-slave-1 # 生成容器的名称, 从节点
restart: always
command: bash -c "redis-server --slaveof redis-master 6379 --masterauth password" # masterauth 主节点密码
ports:
- "6378:6379"
volumes: # 从节点共享目录或文件
- ./data/6378/logs:/logs:r
- ./data/6378/data:/data:r
- ./data/6378/conf/redis.conf:/usr/local/etc/redis-slave-1/redis.conf:r
slave2:
image: redis # 从节点镜像
container_name: redis-slave-2 # 生成容器的名称, 从节点
restart: always
command: bash -c "redis-server --slaveof redis-master 6379 --masterauth password" # masterauth 主节点密码
ports:
- "6377:6379"
volumes: # 从节点共享目录或文件
- ./data/6377/logs:/logs:r
- ./data/6377/data:/data:r
- ./data/6377/conf/redis.conf:/usr/local/etc/redis-slave-2/redis.conf:r
image:镜像名,后面不加版本号,默认 latest 最新版。
container_name:容器名,自定义。
restart: always:总是重启
ports:左边对外开放的端口:右边容器默认端口
volumes:数据卷,:号左边为宿主机目录 .表示当前目录。:号右边为容器目录(默认启动容器宿主机会生成目录,如果是文件需手动创建。赋予相应权限)
environment:设置环境变量
在 Linux 中,chmod 能改变权限,-R 是目录下所有文件,777 就是高权限(读、写、执行)
chmod -R 777 * 是将当前目录下所有文件都给予 777 权限
示例:
chmod -R 777 data
vim /home/docker/redis/data/6379/conf/redis.conf
vim /home/docker/redis/data/6378/conf/redis.conf
vim /home/docker/redis/data/6377/conf/redis.conf
分别编写 redis.conf 并修改端口
# 访问 ip 地址
# bind 127.0.0.1 -::1
bind 0.0.0.0
# 保护模式
protected-mode yes
# 默认端口
port 6379
# 超时
timeout 0
# 守护进程
daemonize no
# 进程文件,如果以后台方式运行,需要指定一个 pid 文件
pidfile /var/run/redis_6379.pid
# 日志级别
loglevel notice
# 日志目录
logfile /logs/redis.log
# 默认数据库数量
databases 16
# 是否显示 redis 启动 logo
always-show-logo no
# 是否设置程序标题
set-proc-title yes
# bgsave 持久化错误时是否停止写入
stop-writes-on-bgsave-error yes
# 是否压缩 RDB
rdbcompression yes
# 是否校验 RDB
rdbchecksum yes
# RDB 文件名
dbfilename dump.rdb
# Redis 登录密码
# requirepass foobared
docker-compose up -d
docker-compose down
Another Redis Desktop Manager
Gitee 下载
Github 下载
DockerHub 仓库
云网站知识库:http://www.liupeng.cloud
Memos 备忘录:http://memos.liupeng.cloud
语雀知识库:https://www.yuque.com/liupeng_yuque
CSDN 博客:https://blog.csdn.net/liupeng_IT
哔哩哔哩:https://space.bilibili.com/1737903430
码云 代码库:https://gitee.com/liupeng_gitee
Github 代码库:https://github.com/liupeng-github
Gogs 私有代码库:http://gogs.liupeng.cloud