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-seoK-seo
Previous 2023-12-18 23:56
Next 2023-12-18 23:57

相关推荐

  • redis镜像启动的方法是什么样的

    Redis是一个开源的使用ANSI C编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它常被称为数据结构服务器,因为值(value)可以是 字符串(String)、哈希(Map)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。Redis的镜……

    2023-11-17
    0156
  • redis4.0.10

    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Map)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。以下是关于……

    2024-02-29
    0140
  • redis中的hash存储结构是什么

    Redis中的哈希存储结构,也称为Hash类型,是一种非常重要的数据类型。其本质上是一个键值对(key-value)的结构,类似于Java中的HashMap。在Redis中,哈希表被用于存储所有键值对的主要数据结构。每个数据库都使用字典(Dictionary)来实现键值对的存储,这种字典是一种高效的键值对存储结构,它使用哈希表来支持快速的查找、插入和删除操作。内层的哈希底层可以使用两种数据结构实现:ziplist和hashtable。Redis的哈希类型还具有丰富的命令、适用场景以及与其他数据结构的比较等特性。

    2024-05-24
    0167
  • 使用redis实现秒杀功能的简单方法是

    使用redis的setnx命令,将商品id作为key,用户id作为value,判断商品库存是否充足。

    2024-05-21
    0104
  • springboot2.0整合redis

    在现代的软件开发中,Redis已经成为了一个非常重要的组件,它是一个非常强大的内存数据库,可以用作缓存、消息队列等各种用途,而Spring Boot则是一个用于简化Spring应用开发的框架,它可以帮助我们快速地构建和部署应用,在这篇文章中,我们将探讨如何在Spring Boot应用中整合Redis并进行数据持久化。1. 添加依赖我们……

    2024-03-04
    0221
  • redis无法多个连接怎么解决「redis无法多个连接怎么解决问题」

    Redis是一个高性能的键值存储系统,常用于缓存、消息队列等场景,有时候我们可能会遇到无法同时建立多个连接的问题,本文将介绍如何解决Redis无法多个连接的问题,并提供一个技术教程。我们需要了解Redis的工作原理,Redis使用单线程模型来处理客户端的请求,这意味着同一时间只能处理一个客户端的请求,当有多个客户端同时尝试连接Redi……

    2023-11-14
    0157

发表回复

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

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