Можно ли вызвать Redis изнутри MySQL? - PullRequest
1 голос
/ 04 января 2011

Возможно ли получить данные из Redis из MySQL (используя встроенную функцию или какой-либо другой механизм)?Я хотел бы иметь возможность использовать эту информацию в операторах ORDER BY для подкачки с помощью LIMIT.В противном случае мне придется получить все данные из MySQL, получить дополнительные данные для каждой строки из Redis, отсортировать в моем приложении и сохранить нужную мне страницу.

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

1 Ответ

2 голосов
/ 04 января 2011

Даже если это возможно (с открытым исходным кодом все технически возможно), маловероятно, что это значительно улучшит производительность по сравнению с более чистым подходом сортировки в вашем приложении. Если ваш набор данных мал, вернуть все не проблема. Если ваш набор данных большой, вам, вероятно, нужно отсортировать по индексированному столбцу, чтобы получить достойную производительность из sql, и вы не можете индексировать функцию.

Кроме того, если результирующий набор не слишком велик, доминирующей проблемой производительности обычно является задержка, а не обработка или передача данных. Один запрос из sql и один mget из redis должны быть достаточно быстрыми.

Если вы действительно хотите, чтобы при просмотре страницы был только один запрос, вам понадобится записать и отсортировать данные в одном месте - либо добавьте данные из redis в виде столбца в sql, либо кэшируйте свои запросы в списках redis.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...