REDMONDS писал(а):Почему кстати решили использовать кэш? Из-за быстродействия?
Очень сильно вырос обьем данных получаемых модулем. Модуль просто переставал вписываться в лимиты БД бесплатных хостингов.
Почему файловая система? Тут скорее сыграло на руку удобство хранения данных, ведь их не надо дополнительно формировать в нужную структуру, как это происходило при получении данных из БД, данные уже хранятся в ней, плюс это избавляло от необходимости постоянно менять структуру БД под изменения апи от ВГ.
Еще одной причиной стала реакция компании ВГ, которые изначально разрабатывали апи для своего андроид приложения. И были немного удивлены популярностью их апи у сторонних мододелов (модуль изначально получал данные о игроках не через апи, а парсил их с профиля игрока на сайте ВГ), что и ввело ограничения на использования апи, под которые необходимо стало подстраиваться, т.е. не запрашивать данные слишком часто, ограничить количество одновременных запросов и пр.
Ну и да, быстродействие конечно сыграло немаловажную, а в принципе и основную роль, модуль стал работать намного быстрее.
P:S. Вторую неделю занимаюсь оптимизацией модуля, нагрузка снизилась ~20%. Помимо этого реализовал поддержку базы данных SQLite.
Следовательно работа ускорилась.
Ну так почему бы и не поделиться проведенной вами работой? Я думаю и Edrard и shw (ну и я, где то через недельку, как домой вернусь) с удовольствием выслушают и ознакомятся с вашими замечаниями по оптимизации, а может и предложат совместную работу над модулем
, поможете нам.
А SQLight конечно вещь классная, но надо ориентироваться на массового пользователя, что бы каждый мог установить на любом бесплатном хостинге. И кстати, пдо же поддерживает sqlite? Там просто конект к базе чуть по другому в коде. Или там структура нашей БД немного не вписывается в стандарты sqlite?