Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   где лучше хранить данные? (https://javascript.ru/forum/misc/44138-gde-luchshe-khranit-dannye.html)

denisjs 08.01.2014 15:33

где лучше хранить данные?
 
есть большая программа , которой необходимо хранить данные. что лучше всего использовать для хранения данных? (данные не закрыты)

animhotep 08.01.2014 15:40

базу данных)

denisjs 08.01.2014 15:43

всё на клиенте

animhotep 08.01.2014 15:45

у современных браузеров есть localStorage

eugenk 09.01.2014 14:34

Народ, я тут похожий вопрос задавал, к сожалению мне так никто толком не ответил. Короче. Нужно хранилище на сеанс просто для кеширования данных с сервера. Т.е. никакие это не localStorage, а тупо в памяти в объектах. Для того чтобы этим как-то управлять (например чтобы понять, что закешировано уже слишком много и пора чистить кэш), нужно хотя бы примерно знать, сколько на компьютере памяти. Причем должно всё это работать и на десктопах и на планшетах и даже на смартфонах с большим экраном. Так что просто сказать "много", вариант далеко не лучший. Отсюда вопрос. Можно ли как-то из скрипта, запущенного в броузере, хотя бы примерно узнать, сколько у клиентской машины памяти ?

ksa 09.01.2014 14:39

Цитата:

Сообщение от eugenk
Можно ли как-то из скрипта, запущенного в броузере, хотя бы примерно узнать, сколько у клиентской машины памяти ?

http://javascript.ru/forum/misc/9563...j-pamyati.html

eugenk 09.01.2014 14:45

Цитата:

Сообщение от ksa (Сообщение 291241)

Т.е. как я понял, всё-таки нельзя ?

ksa 09.01.2014 14:52

А как еще можно трактовать эти слова? :blink:
Цитата:

Сообщение от Gozar
подозреваю что никак.

Цитата:

Сообщение от Gozar
javascript ≠ браузер


eugenk 09.01.2014 14:57

Дык да, разумеется мне нужена песочница броузера, а не серверная сторона, где это можно сделать массой способов. Жаль. Я думал что может быть это как-то делается. Уж больно задача типовая.

ksa 09.01.2014 15:02

Цитата:

Сообщение от eugenk
Жаль. Я думал что может быть это как-то делается. Уж больно задача типовая.

А чего тут жалеть? :blink:
Это не задача JS что-то знать про клиентские компы. Это вообще не его дело, что у меня там стоит и как настроено...

kobezzza 09.01.2014 15:10

eugenk, у localStorage есть брат двойник sessionStorage, мб это то, что ты хочешь

eugenk 10.01.2014 13:49

Тогда всё тот же вопрос. Как мне быть ? Как мне узнать, что кеш уже стал достаточно большим, и пришло время его чистить ? Если известно общее количество памяти на клиенте, то это достаточно просто. Скажем считать что размер сохраненных данных в 10% от общей памяти, это и есть та граница, после которой надо чистить. А без этого не совсем понятно. Считать границей 10 мегабайт ? А почему не 2 ? И почему не 100 ? Да, про проценты можно спросить то же самое. Но с ними выбор смотрится всё-таки куда более обоснованным. Вобщем вопрос, как бы Вы сами посоветовали мне отслеживать момент необходимости чистить кеш ?

eugenk 10.01.2014 13:52

Цитата:

Сообщение от kobezzza (Сообщение 291251)
eugenk, у localStorage есть брат двойник sessionStorage, мб это то, что ты хочешь

Да мне не нужны сейчас никакие особые хранилища. Точнее если бы я о них знал, может меньше пришлось бы работать ручками, но у меня уже все сделано. У меня вопрос, как узнать, когда пришла пора чистить кеш.

ksa 10.01.2014 14:35

Цитата:

Сообщение от eugenk
У меня вопрос, как узнать, когда пришла пора чистить кеш.

Эврика! (с) :D
Цитата:

HTML5 Local Storage
HTML
Local storage (локальное хранилище) — база данных на стороне клиента, содержащая пары ключ-значение. Надеюсь, что в ближайшем будущем эта технология станет стандартом в веб-разработке.
Плюсы локального хранилища:
- Большой объем хранилища (ограничивается настройками браузера и вашим HDD)
...
Цитата:

Может возникнуть проблема, если мы превысили ограничение размера локального хранилища. Обработаем это при помощи try/catch:
try {
    localStorage.setItem('foo', 'bar');
} catch (e) {
    if (e == QUOTA_EXCEEDED_ERR) {
        alert('Локальное хранилище переполнено');
    }
}

http://freehabr.ru/blog/html/1041.html

Занавес! (с) :lol:

eugenk, используй try/catch!!! :lol:

eugenk 10.01.2014 15:25

Уважаемый ksa, спасибо ! Похоже это и правда хоть какой-то ориентир. Тогда еще вопрос. Есть ли гарантия, что это будет работать на планшетниках и смартфонах ?

ksa 10.01.2014 16:04

Цитата:

Сообщение от eugenk
Есть ли гарантия, что это будет работать на планшетниках и смартфонах ?

http://htmlbook.ru/html5/storage


Часовой пояс GMT +3, время: 06:28.