Я использую HTML и javascript в качестве внешнего интерфейса, java в качестве внутреннего и mysql для хранения данных. База данных обновляется каждые 24 часа, и результаты для отображения являются статическими, как хранятся в MySQL.

Я не хочу делать какие-либо SQL-запросы в реальном времени, так как количество запросов фиксировано. Вместо этого я хочу каким-то образом сохранить результат из базы данных, чтобы он был доступен как локальная переменная для JavaScript. Я не хочу делать запрос, потому что в настоящее время существует около 16 запросов, и они могут увеличиваться в разы, что необходимо выполнять одновременно при загрузке, чтобы отобразить результаты всей страницы. Это будет занимать память, запросы и обработка результатов будут медленными по мере увеличения числа пользователей и запросов.

Итак, я подумал о каком-то локальном механизме хранения, который можно использовать для хранения предварительно обработанных данных, откуда из Javascript можно напрямую получить к ним доступ без каких-либо запросов. Возможно ли это и если да, то как? Я хочу, чтобы данные сохранялись как минимум 24 часа, прежде чем они будут обновлены. Пожалуйста, помогите с любой идеей, как заставить это работать

0
user850234 4 Фев 2013 в 10:53

3 ответа

Лучший ответ

Я сохранил данные после автоматического запроса из mysql в файл json, который затем можно включить как script tag в html-файл. Таким образом, все результаты доступны для javascript как local variable, и запрос в реальном времени вообще не требуется.

1
user850234 5 Фев 2013 в 04:28

То, что вы ищете, называется data-attribute.

По сути, вы добавляете атрибут в соответствующий элемент. Например:

<div class="post" data-postid="1234"></div>

Дополнительная информация по теме: http://ejohn.org/blog/html-5- данных атрибутов /

0
Kolby 4 Фев 2013 в 07:00

Перейдите с Jstorage! прост в использовании, уже используется в браузере, а также с пробелом в телефоне с успехом. вот маленький пример:

<html>
<head>
<script src="jquery.min.js"></script>
<script src="jstorage.js" type="application/javascript"></script>

<script>
    function init() {
        var contador = $.jStorage.get("contador");
        $('#you').html('contador=' + contador);
        contador++;
        $.jStorage.set("contador", contador);
    }
</script>
</head>
<body onload="init()">
    <div id="you"></div>
</body>
</html>
0
hamilton.lima 5 Фев 2013 в 04:34