Scala / Play:在Singletons中保留数据是否安全?

时间:2012-01-16 06:12:21

标签: scala playframework

喜欢在基本的你好世界玩! app,你可以这样做:

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 个答案:

答案 0 :(得分:2)

自从玩!被设计为无状态 webframework我不会依赖Controller生命周期来处理这种状态。

容器很可能会停止并重新启动控制器,特别是在云基础架构上。

你应该认真研究替代方案(如你提到的memcached)。

检查部分"会话和Flash范围"在页面上(显示一些缓存设施):

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