Configurando o redis para despejar consistentemente os dados antigos primeiro
Estou armazenando um monte de dados em tempo real em redis. Estou definindo um TTL de 14400 segundos (4 horas) em todas as teclas. Eu configurei maxmemory para 10G, que atualmente não é espaço suficiente para caber 4 horas de dados na memória e não estou usando memória virtual; portanto, o redis está despejando dados antes de expirare
Eu estou bem com a redisposição dos dados, mas gostaria que os dados mais antigos fossem despejados primeiro. Portanto, mesmo se eu não tiver um total de 4 horas de dados, pelo menos eu posso ter algum intervalo de dados (3 horas, 2 horas etc.) sem lacunas. Eu tentei fazer isso definindomaxmemory-policy=volatile-ttl
, pensando que as chaves mais antigas seriam despejadas primeiro, pois todas têm o mesmo TTL, mas não está funcionando dessa maneira. Parece que o redis está despejando dados de maneira arbitrária, então acabo com lacunas nos meus dados. Por exemplo, hoje os dados de 2012-01-25T13: 00 foram despejados antes dos dados de 2012-01-25T12: 00.
possível configurar o redis para despejar consistentemente os dados mais antigos primeir
Aqui estão as linhas relevantes do meu arquivo redis.cnf. Deixe-me saber se você deseja ver mais da cofiguração:
maxmemory 10gb
maxmemory-policy volatile-ttl
vm-enabled no