A resposta curta é que não há nenhuma maneira inerentemente "mais rápida" de acelerar o carregamento de dados no Redis a partir do AOF ou do RDB. Talvez um pequeno aumento de discos mais rápidos, mas, como você observou, é uma operação de tempo linear.
A resposta longa é que você está atingindo os limites de sua arquitetura atual e seria bem repensado. Existem algumas opções neste cenário, abordadas na Web com algum detalhe (sua própria experiência terá que determinar qual solução funciona melhor para você.)
Algumas opções, mais complexas primeiro:
- 2-3 escravos e amp; failover automático, coordenado pelo ZooKeeper
- use o Redis Sentinel
- twemproxy
O particionamento de seus dados não ajudará você neste momento, IMO, já que seu conjunto de dados ainda é relativamente pequeno. No geral, é a disponibilidade e a coordenação do mestre que você precisa resolver, mantendo a persistência.
Finalmente, a resposta mais complexa acima envolve escalonamento horizontal. Você está passando por estresse sob BGSAVE
com um único host & Um pequeno conjunto de dados: você deve considerar escalar verticalmente para resolver seu problema imediato (isto é, uma máquina mais potente para o mestre). Dessa forma você ignora completamente o problema de BGSAVE
no slave / restart master / load do escravo, pelo menos por enquanto. Provavelmente também será mais rentável a curto prazo.