Как оптимизировать дисковый ввод-вывод в Redis Snapshot? - PullRequest
0 голосов
/ 14 апреля 2020

Снимок БД в Redis не является инкрементным, это означает, что если я делаю снимок БД Redis с интервалом в 5 минут (как определено в файле конфигурации Redis), то мой дисковый ввод-вывод не уменьшится и будет зависеть от размер БД, даже если я изменил только один ключ.

Например: я создаю очередь в БД Redis. Изначально БД Redis пуст. Я определил период снимка, равный 5 минутам в файле конфигурации Redis.

Я добавляю новую запись в очередь Redis с интервалом в 30 секунд. Таким образом, в первом цикле моментального снимка 10 запись будет выгружена на диск и предположим, что x будет дисковым вводом / выводом. Во втором цикле создания снимков 20 запись будет выгружена на диск с 2x дисковым вводом-выводом и так далее. Итак, дисковый ввод-вывод похож на x, 2x, 3x, 4x, 5x ....

Но если бы я использовал File Queue вместо Redis Queue, шаблон дискового ввода-вывода был бы похож на x, x, x, x, x ....

Таким образом, используя Redis, я фактически торгую дисковым вводом / выводом за время чтения / записи.

Есть ли способ уменьшить количество операций ввода-вывода на диске?

...