Сохранить строку последней созданной модели в памяти - PullRequest
0 голосов
/ 02 марта 2009

Я работаю над ajax-игрой. Резюме: 2+ геймеры (браузеры) меняют переменную, которая сохраняется в БД через json. Все игроки синхронизируются с помощью javascript-timer + json - периодически читая эту переменную из БД.

В общем, все изменения хранятся в БД как история, но я хочу, чтобы последние изменения дублировались в памяти.

Итак, проблема в том, что я хочу, чтобы одна переменная хранилась в памяти вместо БД.

Ответы [ 4 ]

0 голосов
/ 07 апреля 2009

Подойдет ли что-то вроде memcached?

0 голосов
/ 02 марта 2009

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

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

0 голосов
/ 02 марта 2009

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

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

0 голосов
/ 02 марта 2009

Вы можете использовать кеш-систему:

http://docs.djangoproject.com/en/dev/topics/cache/#topics-cache

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