Scala / Play: безопасно ли оставлять данные в Singletons? - PullRequest
1 голос
/ 16 января 2012

Как в основном привет мире Играй!Приложение, вы можете сделать:

object Application extends Controller {
    var ak = 0
    import views.Application._

    def index = {
        ak = ak + 1
        html.index("Your Scala application is ready!" + ak)
    }

}

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

1 Ответ

2 голосов
/ 16 января 2012

С игрой!он разработан как веб-структура без состояний . Я бы не стал полагаться на жизненный цикл контроллера для обработки такого состояния.

Весьма вероятно, что контейнер остановит и перезапустит контроллер, особенно в облачной инфраструктуре.

Вы должны серьезно рассмотреть альтернативу (например, memcached, как вы упомянули).

Проверьте раздел «Области сессии и Flash» на странице (показаны некоторые возможности для кэширования):

http://www.playframework.org/documentation/1.1.1/controllers

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