redis容器部署及相关配置文件解释

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: redis容器部署及相关配置文件解释

640.png


背景:


我们项目上的redis除了几个核心业务的集群部署是用二进制部署的,其他环境基本都是容器部署。所以整理了一下redis容器相关的配置。


docker-compose部署的配置


version: '3'
services:
  redis:
    image: redis:6.2.5
    container_name: redis
    restart: always
    ports:
      - "6379:6379"
    volumes:
      - /data:/data
    environment:
      - REDIS_PASSWORD=redis_password
    command: redis-server --requirepass ${REDIS_PASSWORD} --appendonly yes


启动命令:


docker-compose up -d


redis的核心配置文件相关解释:


# 绑定的IP地址,可以指定多个,多个地址之间用空格分隔
bind 127.0.0.1
# Redis 监听的端口号,默认为6379
port 6379
# 客户端连接 Redis 时的密码,为空表示不需要密码验证
requirepass foobared
# 数据库的数量,默认为16个
databases 16
# 数据存储方式,默认为快照方式。可以设置为 AOF(Append Only File)方式。
# 快照方式:把当前所有数据全部写入磁盘中的 .rdb 文件中。
# AOF方式:每次操作写一条日志到磁盘中的 .aof 文件,重启时从日志中恢复数据。
# 如果两种方式都开启,则以 AOF 为准进行数据恢复。
# 总结:AOF 的可靠性更高,但对性能影响也更大。
# 快照的周期性保存,可以通过 save 选项来设置。如:save 900 1 表示900秒内,如果有至少1个 key 发生变化,则保存一次快照。
# 不推荐使用 bgsave,它会 fork 出一个子进程来执行快照操作,占用大量内存,会导致 Redis 服务长时间无响应。
# 推荐使用 save 命令,在持续稳定的 Redis 环境下,save 命令可以很好的完成快照操作。
save 900 1
save 300 10
save 60 10000
# AOF 方式下,同步的条件,表示执行每次写操作时,需要 fsync 到磁盘的条件:
# no:操作系统自动判断执行 fsync 的时机。
# always:每次写操作都立即执行 fsync。
# everysec:每秒执行一次 fsync。
appendfsync everysec
# 是否开启 AOF 功能,默认为 no
appendonly no
# AOF 文件的路径和文件名,默认为当前工作目录下的 appendonly.aof 文件
appendfilename "appendonly.aof"
# 重写 AOF 文件的条件,即执行 BGREWRITEAOF 命令的条件:
# 当 AOF 文件大小超过上次重写时的大小的一倍,并且文件大小超过64MB时执行。
# 也可以通过执行 BGREWRITEAOF 命令手动执行重写。
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 开启集群模式,默认为 no。可以在配置文件中指定端口号和集群中的其他节点的 IP 和端口号。
# 可以通过 redis-trib.rb 工具来管理集群。集群模式的配置比较复杂,请参考官方文档。
cluster-enabled no
# cluster-config-file nodes-6379.conf
# cluster-node-timeout

在宿主机上如何操作容器中的redis呢?

#先登登陆容器中
docker exec -it redis_docker_name /bin/sh
#然后执行
redis-cli -h localhost -p 6379 -a redis_password


如果该文章对各位有帮助,也希望大家能予以关注分享,以便让波哥出更多更好的作品回馈大家。谢谢各位!~


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
358 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
19天前
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
|
27天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
19天前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
39 0
|
27天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
58 0
|
2月前
|
消息中间件 NoSQL Kafka
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
57 4
|
2月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
80 3
|
2月前
|
NoSQL Linux Shell
Redis 的安装与部署(图文)
Redis 的安装与部署(图文)
|
2月前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
60 0
|
3月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo