redis docker 集群

Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息代理,在分布式系统中,Redis集群可以提高数据的可用性和扩展性,本文将介绍如何使用Docker部署Redis集群。

环境准备

1、安装Docker:请参考Docker官方文档(https://docs.docker.com/engine/install/)安装适合您操作系统的Docker版本。

redis docker 集群

2、拉取Redis镜像:在命令行中执行以下命令,拉取官方提供的Redis镜像。

docker pull redis

搭建Redis单节点

1、创建Redis配置文件:在本地创建一个名为redis.conf的文件,添加以下内容:

bind 0.0.0.0

protected-mode no

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 16

always-show-logo yes

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

redis docker 集群

rdbchecksum yes

dbfilename dump.rdb

dir ./

slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

slave-priority 100

lazyfree-lazy-eviction no

lazyfree-lazy-expire no

lazyfree-lazy-server-del no

slave-lazy-flush no

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble no

lua-time-limit 5000

redis docker 集群

slowlog-log-slower-than 100000

slowlog-max-len 128

latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256MB 64MB 60

client-output-bufferLimit minclients 1 maxclients autodeflate yes

hz 10

aofrewriteincrementalfsync yes

2、启动Redis单节点:在命令行中执行以下命令,启动Redis单节点。

docker run --name myredis -p 6379:6379 -v $(pwd)/redis.conf:/usr/local/etc/redis/redis.conf --rm redis:latest redis-server /usr/local/etc/redis/redis.conf --daemonize yes --port 6379 --bind 0.0.0.0 --protected-mode no --requirepass yourpassword --tlsdisable --tlsauth cacert.crt --tlsciphers HIGH:!aNULL:!MD5 --dbfilename dump.rdb --dir ./ --appendfilename "appendonly.aof" --appendfsync everysec --save "900 1" --save "300 10" --save "60 10000" --slaveof no --pidfile /var/run/redis_6379.pid --loglevel notice --logfile "" --databases 16 --always-show-logo yes --saveinfo returnerrors yes --slaveservesocket port=6380 --slavereadfrom socket=localhost:6379 --slavepriority priority=10 --slavepreservemaster yes --slavepreferredip srcip=127.127.1.1 --slavepreferredip srcip=::ffff:127.127.1.1 --slavepreferredip srcip=::ffff:127.127.1.2 --slavelistenip 127.127.1.156 --slavedns server=8.8.8.8,server=8.8.4.4 --dir "$(pwd)/6379_data" --replicaof no --cluster create IP=$(hostname):6380 IP=$(hostname):6381 IP=$(hostname):6382 IP=$(hostname):6383 IP=$(hostname):6384 IP=$(hostname):6385 IP=$(hostname):6386 IP=$(hostname):6387 IP=$(hostname):6388 IP=$(hostname):6389 --cluster-replicas 1 @masterip@@replicaip@@masterport@@replicaport@@masteralias@@replicaalias@ &>/dev/null & echo $! > cluster_id & exec cat cluster_id & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 & exec sleep infinity & exec tail \$(cat cluster_id) & exec kill %1 &exec exit;&exec cat cluster_id;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_id);&exec kill %1;&exec sleep infinity;&exec tail \$(cat cluster_server);--sentinel monitor mymaster mastername yourmastername host yourmasterip port yourmasterport quorum downafterseconds failovertimeout connectedslavesinsentinelstatesentinelfailover newstatesentinelupdatescript filesentinelupdatescript filesentinelparallelstartsec

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/143868.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-18 23:56
Next 2023-12-18 23:57

相关推荐

  • 基于docker封装的开发包工具介绍

    Docker简介Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker的优点1、轻量级:Docker容器相比传统的虚拟机更加轻量级,占用资源更少,启动速度更快……

    2023-12-18
    0103
  • Redis知识点怎么掌握

    Redis(Remote Dictionary Server)是一个开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它通常被称为数据结构服务器,因为值(value)可以是字符串(string)、哈希表(hash)、列表(list)、集合(set)和有序集合(sort……

    2023-11-22
    0127
  • redis取大数据时卡顿怎么解决

    Redis取大数据时卡顿怎么解决在实际应用中,我们经常会遇到使用Redis获取大量数据时出现卡顿的情况,这种情况可能是由于网络延迟、内存不足或者并发请求过高等原因导致的,为了解决这个问题,我们可以采取以下几种方法:1. 分批获取数据:当需要获取大量数据时,可以将数据分成多个批次进行获取,每次只获取一部分数据,然后进行处理和展示,这样可……

    2023-11-10
    0136
  • 如何删除redis集群的节点信息

    如何删除Redis集群的节点Redis集群是Redis提供的一种分布式解决方案,它将数据分布在多个节点上,以实现高可用性和可扩展性,在某些情况下,我们可能需要删除Redis集群中的某个节点,例如维护、升级或者故障处理等,本文将介绍如何删除Redis集群的节点。准备工作在删除Redis集群节点之前,我们需要确保已经完成了以下准备工作:1……

    2024-01-13
    0190
  • 一次关于Redis内存诡异增长的排查过程实战记录

    在软件开发过程中,我们经常会遇到各种问题,其中之一就是内存泄露,内存泄露会导致程序运行缓慢,甚至崩溃,我在开发一个基于Redis的分布式缓存系统时,遇到了一个关于Redis内存诡异增长的问题,本文将详细介绍这个问题的排查过程和解决方案。问题描述在我们的分布式缓存系统中,Redis作为存储层,负责存储和读取数据,在运行一段时间后,我们发……

    2024-03-07
    0160
  • redis分布式锁会有什么问题

    Redis分布式锁的实现方式有哪些?Redis分布式锁是一种在分布式系统中实现资源互斥访问的技术,它可以保证在同一时刻只有一个客户端能够持有锁,常见的Redis分布式锁实现方式有以下几种:1、基于SETNX命令的实现SETNX(SET if Not eXists)命令是Redis中的一个原子操作,当且仅当key不存在时,为key设置指……

    2024-02-17
    099

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入