Возможно ли вытягивать данные с MySQL асинхронно и мгновенно, совершенно без задержек?
У меня на сервере есть таблица с некоторыми данными. На сайте есть набор кнопок, по нажатию на которые через ajax избирательно отображаются некоторые строки из этой таблицы. Но отображение это происходит не мгновенно по клику, а с небольшой задержкой.
Вопрос такой: что нужно сделать, чтобы никакой задержки не было? Это принципиально важно. Возможно, есть некие технологии, которые позволяли бы предварительно загружать таблицы в кэш(?) или куда-нибудь еще, сразу при загрузке страницы, чтобы данные из неё сразу находились "на кончиках пальцев" и по нажатию только отображались.
Логически я и сам понимаю, что это решение. Но каким конкретно образом их можно "грузить" и в какой "памяти" сохранять? Можете дать название функции/команды/метода? Ткните, в какую сторону смотреть, пожалуйста. Просто название хоть, я погуглю
напишу заготовку, примерно на jquery
var $d = $(document);
// данные которые будут хранится в памяти
var data = [];
// после загрузки страницы
$d.ready(function {
// аяксом спросить данные
$.ajax( "example.php" )
.done(function (d) {
// сохранили данные в переменной
data = d;
});
});
// вот тут по клику данные забрали
$d.on('click', '.btn', function() {
showData(d);
});
// показали данные
function showData (d) {
console.log(d);
}
Периодическая предварительная выборка через тот же Ajax. Двойная буферизация, только так будет создана иллюзия отсутствия задержек. Иначе как если время на выборку тратиться, время на передачу данных тратиться - а отображается мгновенно? Концы не сходятся с концами.
А еще лучше - постройте архитектуру как в любом mvc фреймворке. Обобщенно - оное втягивает с сервера все данные, а потом с таблицей делайте что хотите, применяйте фильтры и так далее - будет работать очень быстро.