2012-06-26 3 views
0

Я подумываю о том, чтобы использовать Redis в качестве хранилища для некоторых высокоскоростных данных (мы говорим, что он будет жить, может быть, 30 секунд за раз, пока вас не выселяют). Я знаю, что Redis периодически создает работника, чтобы он сохранялся на диске, когда поддерживается постоянство. Если я отключу механизм персистентности, какое влияние на производительность будет оказывать остальная часть системы.Отключает ли постоянство Redis повышение производительности?

Кроме того, кто-нибудь видит какие-либо недостатки в этом - поскольку, если данные потеряны, восстановление бессмысленно, так как оно, вероятно, уже истекло?

ответ

3

Если ваши данные имеют небольшой срок службы, вы, вероятно, не захотите их сохранять. С отключенной настойчивостью вы не получаете нагрузку ввода-вывода от redis, а также отсутствие всплесков памяти, которые могут возникать во время сохранения. Когда redis хочет сбросить данные, он разворачивается и продолжает работать. Но если он находится под большой нагрузкой на запись, тогда модифицированные ключи должны быть скопированы во время выполнения дампа. Это так называемый механизм Copy-on-write.

Если вам не нужны ваши данные для сохранения, это определенно имеет смысл не сохраняться.