Для чего же нужен REDIS

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Для чего же нужен REDIS

Сообщение webplus »

Здравствуйте!
Есть много инфы в гугле про Redis, но всё в этой инфе написано что можно хранить ключ значащие и другие типы. Хранит все в памяти и можно на диск сбросить.
А вот четкого примера для чего можно применить не кто не пишет.
Как я понимаю по id в базе mysql вывожу новость. Ну сохраню я этот id новости в redis-е и толку, что это дает и зачем это надо.
Приведите пример для чего можно использовать и почему без него не обойтись?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Для чего же нужен REDIS

Сообщение dmg »

Редис нужен как быстрое хранилище.
Погугли ещё сервер очередей.
Предположим тебе надо обработать кучу данных по определенному алгоритму или разослать письма.
Ты их закидываешь в очередь.
Параллельно в системе висит обработчик. Он видит очередь и начинает с ней работать.
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: Для чего же нужен REDIS

Сообщение webplus »

dmg писал(а): 2020.04.11, 18:06 Редис нужен как быстрое хранилище.
Предположим тебе надо обработать кучу данных по определенному алгоритму или разослать письма.
не могу понять что эти очереди дают.
Обычно в пхп делается цикл из данных с базы mysql и в цикле для каждого эмейла делается send

А с этим не чего не понятно, зачем тут очередь.
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Для чего же нужен REDIS

Сообщение dmg »

А если данных тысяча или десять тысяч. Сколько времени цикл будет крутится?
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: Для чего же нужен REDIS

Сообщение webplus »

dmg писал(а): 2020.04.11, 18:17 А если данных тысяча или десять тысяч. Сколько времени цикл будет крутится?
пока не сработает в php.ini настроенный лимит работы скрипта. Или когда память на сервере не закончится.
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Для чего же нужен REDIS

Сообщение dmg »

Ну вот чтоб этого не случилось и используют очереди. Плюс обработчиков может быть несколько для ускорения процесса
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Для чего же нужен REDIS

Сообщение ElisDN »

webplus писал(а): 2020.04.11, 17:58 А вот четкого примера для чего можно применить не кто не пишет.
Для сессий и кэша (как и Memcache). Для лёгких очередей по модели pub/sub.
webplus писал(а): 2020.04.11, 18:19 пока не сработает в php.ini настроенный лимит работы скрипта. Или когда память на сервере не закончится.
И посетителям сайта на каждое сообщение по минуте ждать, пока все уведомления отправятся и страница перезагрузится?
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: Для чего же нужен REDIS

Сообщение webplus »

ElisDN писал(а): 2020.04.11, 18:23 И посетителям сайта на каждое сообщение по минуте ждать, пока все уведомления отправятся и страница перезагрузится?
я рассылку по крону имел введу делать!
а вот с очередями вообще не пойму, как они работают - их логика, чтобы было понятно как и в каком случае применять, можете написать.
Я так понял очередь запускается не у клиента который на сайт зашел. а в момент захода клиента на сайт идет обращение к очереди и она самостоятельно как по крону (т.е. как в консоли) запускается и не мешает работе сайта у клиента.
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Для чего же нужен REDIS

Сообщение ElisDN »

webplus писал(а): 2020.04.11, 18:36 а вот с очередями вообще не пойму, как они работают - их логика, чтобы было понятно как и в каком случае применять, можете написать.
Я так понял очередь запускается не у клиента который на сайт зашел. а в момент захода клиента на сайт идет обращение к очереди и она самостоятельно как по крону (т.е. как в консоли) запускается и не мешает работе сайта у клиента.
Как работает Cron:

- В базе есть таблица tasks.
- Сайт записывает в неё задачу.
- Cron каждую минуту запускает консольный обработчик, считывающий и выполняющий задачи.

Как работает очередь:

- В брокере есть очередь tasks.
- Сайт отправляет в неё задачу.
- Постоянно запущен консольный слушатель (один или несколько), которым от брокера сразу поступают сообщения.

Разница в том, что Cron запускается по строгому расписанию и не чаще раза в минуту. И приходится самому реализовывать слежение за уникальностью запуска и доставкой задач. А брокеры очередей доставляют сообщения почти сразу и сами следят за их доставкой.
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: Для чего же нужен REDIS

Сообщение webplus »

набрал в гуле "radis php очереди пример" и не чего толкового не нашел!
Я так понимаю что очередь и логику php еще и выполняет?
Т.е. должно быть примерно так, создаем метод с логикой

Код: Выделить всё

function redisSendMsg() {
//*** Здесь логика
}
потом идет при помощи классов редиса запуск моего метода, т.е. типа так:

Код: Выделить всё

Radis::run('redisSendMsg');
и он в консоли выполнится. А вызовется Radis::run('redisSendMsg'); он клиентом, например после авторизации юзера.

Но по идее должно быть так. Но инфы понятной в инете нет с работы очередями.
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
mozart
Сообщения: 15
Зарегистрирован: 2012.02.20, 20:32

Re: Для чего же нужен REDIS

Сообщение mozart »

webplus писал(а): 2020.04.11, 19:50 набрал в гуле "radis php очереди пример" и не чего толкового не нашел!
Привыкайте искать на английском и читать там же. Информации там гораздо больше. Redis вам еще не нужен, скорее всего.
redis не имеет никакого отношения к php, это просто nosql хранилище данных со своими особенностями.
Начните просто теорию про nosql, что, для чего, куда и зачем.
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Для чего же нужен REDIS

Сообщение dmg »

webplus писал(а): 2020.04.11, 19:50 набрал в гуле "radis php очереди пример" и не чего толкового не нашел!
...
Но по идее должно быть так. Но инфы понятной в инете нет с работы очередями.
https://yandex.ru/search/?text=yii2%20q ... 398&lr=213
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: Для чего же нужен REDIS

Сообщение webplus »

сделал пример по документации https://www.yiiframework.com/extension/ ... u/usage-ar
И подумал, у меня был клиент который хранил в базе mysql несколько миллионов записей, а потом по дате выборку делал и она сервер ложила.
Вот если бы эти данные в NoSql базу перенести например redis то в ней бы поиск по дате занимал бы секунды.
Но редис все данные в памяти хранит, и как просчитать хватит ли памяти на эти миллионы записей. И как быть после перезагрузки сервера, то все данные из памяти очищаются. как лучше автоматически сохранять данные Redis-а на диск сервера и быстро восстанавливать их и возможно не руками, а автоматически.
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: Для чего же нужен REDIS

Сообщение kukuruku »

Давно я тоже искал пример работы с очередью и обработчиком очереди
И ничего конкретного не нашел, одна вода что очередь это очень хорошо
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Для чего же нужен REDIS

Сообщение ElisDN »

kukuruku писал(а): 2020.04.24, 09:42 Давно я тоже искал пример работы с очередью и обработчиком очереди
И ничего конкретного не нашел, одна вода что очередь это очень хорошо
Зашли бы в папку docs.
Ответить