Flex - лучшая стратегия хранения клиентских данных в синхронизации с базой данных бэкенда?

Попробуйте сделать что-то вроде этого:

db.getCollection('collectionName').find({'ArrayName.1': {$exists: true}})

1 - это номер, если вы хотите получить запись больше 50, а затем ArrayName.50 Спасибо.

7
задан 20 September 2008 в 13:02
поделиться

6 ответов

a. Рассмотрите изменения бэкенда оптимизации через прокси, который делает его собственное уведомление или орудование шестами: это знает, грязны ли какие-либо из данных, и будет быстрый возврат (а-ля 304) если нет.

b. Часто, пользователи смотрят больше, чем они затрагивают. Рассмотрите один уровень обновления для взгляда и другого, когда они запустят и продолжат редактировать.

Взгляд на BuzzWord: это соединяет редактирование, но также и автоматически сохраняет и часто разблокировало.

Удачи

2
ответ дан 7 December 2019 в 14:39
поделиться

Если бы Вы не можете использовать обменивающийся сообщениями протокол в BlazeDS, то я должен был бы согласиться, что необходимо сделать RTMP, опрашивающий по HTTP. Данные сжаты при использовании RTMP в AMF, который помогает вещам скорости встать, таким образом, клиент долго ждет между обновлениями. Это также позволило бы Вам позже увеличиваться к методам нажатия, если клиент продукта решает заплатить для дополнительного оборудования и лицензий.

1
ответ дан 7 December 2019 в 14:39
поделиться

В прошлом я пошел с выбором "a". При использовании Удаленных объектов, Вы могли бы установить некоторую логику стиля кэша для хранения их в синхронизации на удаленном конце.

Sam

0
ответ дан 7 December 2019 в 14:39
поделиться

Вам не нужны Livecycle и RTMP, чтобы иметь механизм уведомления, можно сделать это с каналами от BlazeDS и использовать стратегию опроса потоковой передачи / длинную стратегию опроса

1
ответ дан 7 December 2019 в 14:39
поделиться

Разве Вы не можете использовать RTMP по HTTP (Опрос HTTP)? Тем путем можно все еще использовать RTMP, и хотя это намного медленнее, чем реальный RTMP, можно все еще широковещательно передать, обновляет этот путь.

У нас есть приложение, которое использует RTMP для передачи сигналов, вставляет, обновляет и удаляет путем простой широковещательной передачи сообщений RTMP, содержащих пару Table/PrimaryKey, оставляя приложение для автоматического обновления это - данные. Мы делаем это по Http с помощью RTMP.

0
ответ дан 7 December 2019 в 14:39
поделиться

Я нашел эту статью о синхронизации:

http://www.databasejournal.com/features/sybase/ article.php / 3769756 / The-Missing-Sync.htm

Это не входит в технические детали, но вы можете догадаться, какой тип кодирования будет реализовывать эту стратегию.

У меня также нет причудливых уведомлений от моих server, поэтому мне нужны стратегии синхронизации.

Например, у меня есть список компаний в моем modelLocator. Он не меняется очень часто, он недостаточно велик, чтобы учитывать разбиение на страницы, я не хочу перезагружать его все (removeAll ()) при каждом действии пользователя, но я не хочу, чтобы мое приложение вылетало или ОБНОВЛЯЕМ поврежденные данные в если он был ОБНОВЛЕН или УДАЛЕН из другого экземпляра приложения.

Сейчас я сохраняю в СЕССИИ дату и время SELECT. Когда я возвращаюсь для обновления данных, я ВЫБИРАЮ WHERE last_modified> $ SESSION ['lastLoad']

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

Очевидно, что вам нужно на UPDATE last_modified при каждом INSERT и UPDATE.

Для DELETE это сложнее. Как отмечает парень в своей статье: «Как мы можем отправить запись, которая больше не существует»

Вам необходимо указать Flex, какой элемент следует удалить (например, по идентификатору), чтобы вы не могли УДАЛИТЬ при УДАЛЕНИИ:)

Когда пользователь удаляет компанию, вы вместо этого выполните ОБНОВЛЕНИЕ: удалено = 1 Затем при обновлении компаний для строки, в которой удалено = 1, вы просто отправляете обратно идентификатор для гибкости, чтобы убедиться, что эта компания больше не участвует в модели.

И последнее, но не менее важное: вам нужно написать функцию, которая чистые строки, где удаленный = 1 и last_modified старше, чем ... 3 дня или как вы думаете, что вам подходит.

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

0
ответ дан 7 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: