如何为redis5.0.5集群设置最大内存
How to setup max memory for a redis5.0.5 cluster
我有一个带有 4 个服务器的 Redis 集群,每个服务器有 24 GB 内存。每个服务器都有一个主从实例运行.
集群拓扑:(A-->B表示A是B的slave)
server2 slave-->server1 master
server3 slave-->server2 master
server4 slave-->server3 master
server1 slave-->server4 master
这些服务器仅供 Redis 使用,因此我最多可以为 Redis 分配 22 GB 内存。
但我不确定如何为这些实例设置 maxmemory
。我是否需要在每台服务器上分别在主服务器和从服务器上将其设置为 11 GB?或者我需要为两台服务器都将其设置为 22 GB?
另外,redis 上的数据可用的总内存是多少,22*4 = 88GB,还是只有 22GB?
由于你的master和slave在同一台服务器上,你应该设置maxmemory
每个master和slave为11GB。此外,集群可用的总内存为 11 * 4 = 44G
.
redis-cli -h <host_name> -p <port> -a <password> config get maxmemory
redis-cli -h <host_name> -p <port> -a <password> config set maxmemory <Bytes>
redis-cli -h <host_name> -p <port> -a <password> config get maxmemory
# cat your redis.conf to see max memory
cat redis.conf
# you will find redis.conf has old maxmemory
# so you can rewrite redis.conf
redis-cli -h <host_name> -p <port> -a <password> config rewrite
我有一个带有 4 个服务器的 Redis 集群,每个服务器有 24 GB 内存。每个服务器都有一个主从实例运行.
集群拓扑:(A-->B表示A是B的slave)
server2 slave-->server1 master
server3 slave-->server2 master
server4 slave-->server3 master
server1 slave-->server4 master
这些服务器仅供 Redis 使用,因此我最多可以为 Redis 分配 22 GB 内存。
但我不确定如何为这些实例设置 maxmemory
。我是否需要在每台服务器上分别在主服务器和从服务器上将其设置为 11 GB?或者我需要为两台服务器都将其设置为 22 GB?
另外,redis 上的数据可用的总内存是多少,22*4 = 88GB,还是只有 22GB?
由于你的master和slave在同一台服务器上,你应该设置maxmemory
每个master和slave为11GB。此外,集群可用的总内存为 11 * 4 = 44G
.
redis-cli -h <host_name> -p <port> -a <password> config get maxmemory
redis-cli -h <host_name> -p <port> -a <password> config set maxmemory <Bytes>
redis-cli -h <host_name> -p <port> -a <password> config get maxmemory
# cat your redis.conf to see max memory
cat redis.conf
# you will find redis.conf has old maxmemory
# so you can rewrite redis.conf
redis-cli -h <host_name> -p <port> -a <password> config rewrite