2016-04-14 5 views
0

Временная таблица MySQL хранится в памяти, если на компьютере достаточно ОЗУ (и MySQL был настроен соответственно). Можно создавать любые индексы для любых полей.Почему у нас есть Redis, когда у нас есть временные таблицы MySQL?

Redis хранит данные в памяти, индексированные одним ключом во времени, и в моем понимании MySQL может выполнять эту работу.

Есть ли какие-либо вещи, которые делают Redis лучше для хранения большого количества (100-200 тыс. Строк) летучих данных? Я могу только объяснить внешний вид Redis, что не каждый проект имеет mysql внутри, и, вероятно, некоторые другие базы данных не поддерживают временные таблицы.

Если у меня уже есть MySql в моем проекте, имеет ли смысл мириться с Редисом?

+0

В зависимости от ваших требований скорости. Redis, скорее всего, будет быстрее с приличным отрывом. –

+0

Это очень удобный хранилище ключей для структур данных и реляционной базы данных. Таблица все еще требует запросов, интерпретации, механизма хранения и всего, что связано с записью и чтением индексированных значений таблицы (таблиц). Redis - это хранилище ключей, ключ может быть примерно любым, от известного значения до хэша. Затем вы можете запросить значение по его предполагаемому ключу без применения запроса. Поиск по-прежнему происходит, но не в том же смысле, что и MySql. Я использовал redis для приложений на шкале для хранения сеансов и кеширования во многих экземплярах веб-серверов и баз данных. –

ответ

2

Redis - это как работа с индексами напрямую. Нет ACID, анализатора SQL и многих других вещей между вами и данными.

Он предоставляет некоторые основные структуры данных, и они специально оптимизированы для хранения в памяти, а также имеют специальные операции для их считывания и изменения.

В другой стороны, Redis не предназначен для запроса данных(но вы можете реализовать очень мощные и высокой производительным фильтры с SORT, SCAN, перекрестков и других операций) но для хранения данных, как вы «Потребуется позже. Если вы хотите получить, например, клиентов, отсортированных по трем различным критериям, вам нужно будет заполнить 3 разных отсортированных наборах. Есть много вариантов использования с другими структурами данных, но я бы в конечном итоге написал книгу в ответ ...

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

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

0

Используя Redis вместе с другой базой данных, вы эффективно уменьшаете нагрузку на нее. Кроме того, когда Redis работает на другом сервере, масштабирование может выполняться независимо на каждом уровне.

Смежные вопросы