Я использую Redis исключительно в качестве сервера кэширования, поэтому RDB и AOF отключены, так как у меня уже есть БД, и наличие двух слоев, которые выполняют одно и то же, является излишним.
Хотя эта настройка отлично работает, когда БД является единственным источником правды, мой вопрос больше о том, что происходит, когда вы используете Redis для отслеживания таких вещей, как game scores, pages views, analytics from a webhook, etc..
На данный момент у нас нет постоянных данных для Redis, это означает, что в случае сбоя / перезапуска сервера все эти данные исчезнут.
Итак, как лучше синхронизировать БД с данными Redis?
возможно, создайте задание cron, которое будет получать данные от Redis каждые 1 минуту и обновлять базу данных.
возможно, вместо того, чтобы прерывать Redis каждую минуту из-за его однопоточного характера, и чтобы избежать любых пропусков данных, мы можем добавить данные в очередь, которая запускается, когда размер = 50 или что-то, что затем обновляет БД
Я использую laravel, поэтому любые примеры, следующие за его экосистемой, приветствуются, но также приветствуются любые мысли.