Всем привет.
Что я делаю не так?
У меня есть форма поиска, и когда юзер ищет что нибудь я заливаю текст в базу потом вывожу его, как последние запросы. Но что бы один и тот же запрос не повторялся кучу раз я хотел поставить лимит 5 минут на запрос.
Что я делаю не так подсажите)
Запрос уникальным должен быть(зачем тебе куча дубликатов?), для сортировки временную метку сохраняй.
________ посл. ред. 22.01.2019 в 10:09; всего 1 раз(а); by monobogdan
да при сохранении можно помимо текста запроса сохранять его md5 метку и проиндексировать, так же метку времени ставь и просто ищи по хэшу а не по строке, будет и выборка быстрей ну и дубликатов избежишь.
У тебя не верная логика исполнения.
1. Пользователь вводит запрос, ты его записываешь в базу с меткой времени
2. Делаешь выборку из базы уникальных записей за последние N минут
ps дубли можно также сравнивать с последними записями за N минут и не добавлять.
Можно и нужно не только сравнивать время запроса, а и кешировать результаты
Тогда вместо ошибки пользователю будет возвращаться кешированный результат
Возврат ошибки - слишком грубо